Tôi có một bảng với nhiều chỉ số, một số trong đó lặp lại trong các cột tương tự:cơ sở dữ liệu: tại sao cặp
Index 1 columns: X, B, C, D
Index 2 columns: Y, B, C, D
Index 3 columns: Z, B, C, D
Tôi không rất am hiểu về lập chỉ mục trong thực tế, vì vậy tôi tự hỏi nếu ai đó có thể giải thích tại sao X, Y và Z được ghép nối với các cột này. B là một ngày có hiệu lực. C là ID khóa bán duy nhất cho bảng này cho một ngày có hiệu lực cụ thể B. D là một chuỗi xác định mức ưu tiên của hồ sơ này cho mã định danh C.
Tại sao không chỉ tạo 6 chỉ mục, mỗi chỉ mục cho mỗi X, Y, Z, B, C, D?
Tôi muốn thêm chỉ mục vào cột T khác, nhưng trong một số ngữ cảnh, tôi sẽ chỉ truy vấn T một mình trong khi ở những người khác, tôi cũng sẽ chỉ định cột B, C và D ... chỉ một chỉ mục như trên hoặc tôi nên tạo một chỉ mục cho T và một cho (T, B, C, D)?
Tôi đã không có nhiều may mắn như mong đợi khi googling cho phạm vi bao phủ toàn diện về lập chỉ mục. Bất kỳ tài nguyên nào tôi có thể nhận được thông qua giải thích và rất nhiều ví dụ về lập chỉ mục B-tree?
Trên thực tế, bạn có thể sử dụng chỉ mục để thúc đẩy quyền truy cập cho cột "ở giữa" - Oracle hỗ trợ bỏ qua quét, vì vậy chỉ mục trên 'X, B, C' có thể được sử dụng cho điều kiện bình đẳng trên B và C X không có mặt. Đó là lý do để xem xét nén khóa chỉ mục và dẫn đầu chỉ mục với các cột chọn lọc ít nhất. –