Nếu tôi có một bảngchỉ mục có nhiều cột - ok khi thực hiện truy vấn trên chỉ một cột?
create table sv (id integer, data text)
và một chỉ số:
create index myindex_idx on sv (id,text)
sẽ này vẫn có ích nếu tôi đã làm một truy vấn
select * from sv where id = 10
lý do tôi cho hỏi là i' m xem xét một tập hợp các bảng có bất kỳ chỉ mục nào và xem các kết hợp khác nhau của các truy vấn chọn lọc. Một số chỉ sử dụng một cột khác có nhiều hơn một cột. Tôi có cần phải có chỉ mục cho cả hai bộ hoặc là một chỉ số bao gồm tất cả ok không? Tôi đang thêm các chỉ mục để tra cứu nhanh hơn so với quét toàn bộ bảng.
Ví dụ (dựa trên câu trả lời của Matt Huggins):
select * from table where col1 = 10
select * from table where col1 = 10 and col2=12
select * from table where col1 = 10 and col2=12 and col3 = 16
tất cả có thể được bao phủ bởi bảng chỉ mục (co1l1, col2, col3) nhưng
select * from table where col2=12
sẽ cần chỉ số khác?
Tôi chỉ <3 StackOverflow. Câu trả lời tuyệt vời cách tốt hơn so với dự kiến. Tôi chấp nhận câu trả lời mà tôi đã sử dụng và cho phép câu trả lời được bầu chọn cao nhất ngay bên dưới câu trả lời được chấp nhận – svrist