【发布时间】:2012-07-31 13:46:53
【问题描述】:
在一个 MySQL 数据库表中,我有以下索引:
- 类型:BTREE
- 唯一:没有
- 打包:没有
- 字段:姓氏、名字、年龄
当我做这样的查询时......
SELECT firstname, lastname FROM table ORDER BY lastname ASC, firstname ASC, age DESC
...MySQL 不使用索引。
但是当我也按升序使用“年龄”时,它确实如此:
SELECT firstname, lastname FROM table ORDER BY lastname ASC, firstname ASC, age ASC
为什么会这样?列是否总是仅按升序索引?或者我也可以按降序使用它们吗?为什么我不能使用混合订单?
提前致谢!
【问题讨论】:
标签: mysql indexing sql-order-by