Từ tài liệu MySQL tại http://dev.mysql .com / doc / refman / 5.6 / vi / order-by -mize.html
Trong một số trường hợp, MySQL không thể sử dụng chỉ mục để giải quyết ORDER BY
, mặc dù nó vẫn sử dụng các chỉ mục để tìm các hàng phù hợp với WHERE
mệnh đề. Những trường hợp này bao gồm những điều sau:
. . .
Khóa được sử dụng để tìm nạp các hàng không giống với khóa được sử dụng trong ORDER BY
:
`SELECT * FROM t1 WHERE key2=constant ORDER BY key1;`
Điều này có thể sẽ không hữu ích, nhưng điều gì sẽ xảy ra nếu bạn thêm AND ID > 0
đến WHERE
mệnh đề? Điều này có khiến MySQL sử dụng khóa chính để sắp xếp không? Tôi cho là đáng để thử.
(Có vẻ kỳ lạ khi đặt hàng với ak là hiệu quả, vì ak thậm chí không có chỉ mục, nhưng điều đó có thể do ít giá trị hơn đối với ak?)