我想使用 A 列和 B 列上的索引检索一些行。有人告诉我,确保使用我的索引来检索行的唯一方法是使用 ORDER by 子句,例如:
A B offset
1 5 1
1 4 2
2 5 3
2 4 4
SELECT A,B FROM TableX
WHERE offset > 0 AND offset < 5
ORDER BY A,B ASC
但是我希望我的结果只返回那些按 B 列而不是 A、B 列排序的行。
A B
1 4
2 4
2 5
1 5
我怎样才能做到这一点并且仍然确保我的索引正在被使用而不是全表扫描?如果我要使用 ORDER BY B 那么这是否意味着 MySQL 将按 B 扫描并破坏拥有两列索引的目的?