5.4.1 支持多种过滤条件

考虑:

  • 哪些列拥有很多不同的取值
  • 哪些列在 WHERE 子句中出现得最频繁

为什么在基数小的 sex, country 上创建 (sex,country) 索引?

image.png

诀窍:

image.png

将 age 列放到索引列的最后:

  • age 上的查询大部分是范围查询

每额外增加一个 IN() 条件, 优化器需要做的组合都将以指数形式增加, 极大地降低查询性能:

  • 432 = 24

image.png

5.4.2 避免多个范围条件

image.png

image.png

5.4.3 优化排序

对于哪些选择性很低的列, 可以增加一些特殊的索引来做排序.

使用延迟关联优化 limit offset:

image.png