5.4.1 支持多种过滤条件
考虑:
- 哪些列拥有很多不同的取值
- 哪些列在 WHERE 子句中出现得最频繁
为什么在基数小的 sex, country 上创建 (sex,country) 索引?
诀窍:
将 age 列放到索引列的最后:
- age 上的查询大部分是范围查询
每额外增加一个 IN()
条件, 优化器需要做的组合都将以指数形式增加, 极大地降低查询性能:
- 432 = 24
5.4.2 避免多个范围条件
5.4.3 优化排序
对于哪些选择性很低的列, 可以增加一些特殊的索引来做排序.
使用延迟关联优化 limit offset: