Câu hỏi hay.
Các chỉ mục hoạt động từ trái sang phải, vì vậy WHERE
của bạn tiêu chí sẽ sử dụng chỉ mục. Việc sắp xếp cũng sẽ sử dụng chỉ mục trong trường hợp này (kế hoạch thực thi bên dưới).
Từ hướng dẫn sử dụng :
Nếu bạn có một chỉ mục cột đơn (accountid
), một tổ hợp tệp sẽ được sử dụng thay thế. Do đó, truy vấn của bạn sẽ được hưởng lợi từ chỉ mục đó.
Chỉ mục hai cột
create table t1 (
accountid tinyint,
logindate date);
create index idx on t1 (accountid, logindate);
insert into t1 values (1, '2012-09-05'), (2, '2012-09-09'), (3, '2012-09-04'),
(1, '2012-09-01'), (1, '2012-09-26'), (2, '2012-05-16'),
(1, '2012-09-01'), (3, '2012-10-19'), (1, '2012-03-01')
Kế hoạch thực thi
ID SELECT_TYPE TABLE TYPE POSSIBLE_KEYS KEY KEY_LEN REF ROWS FILTERED EXTRA 1 SIMPLE t1 ref idx idx 2 const 5 100 Using where; Using index
Chỉ mục một cột
create table t1 (
accountid tinyint,
logindate date);
create index idx on t1 (accountid);
insert into t1 values (1, '2012-09-05'), (2, '2012-09-09'), (3, '2012-09-04'),
(1, '2012-09-01'), (1, '2012-09-26'), (2, '2012-05-16'), (1, '2012-09-01'),
(3, '2012-10-19'), (1, '2012-03-01')
Kế hoạch thực thi
ID SELECT_TYPE TABLE TYPE POSSIBLE_KEYS KEY KEY_LEN REF ROWS FILTERED EXTRA 1 SIMPLE t1 range idx idx 2 5 100 Using where; Using filesort