关于MySQL组合索引
比如一个SQL的where
条件如下
WHERE `a`, `b`
WHERE `a`, `b`, `c`
WHERE `a`, `b`, `d`
WHERE `a`, `b`, `c`, `d`
WHERE `a`, `c`
WHERE `a`, `c`, `d`
此时创建组合索引 a, b, c, d
能否覆盖全部 where
查询,或怎样设置索引为最优?
抛开实际场景的问题是没有意义的,但就你给出的问题看,以我经验,我会建立
a,b
和a,c
这两个索引,这是最精简了,当然,如果你的数据表,实际中,你不能通过a,b
索引排除掉大量数据的话,这时候你就要考虑,为c
或者d
一起建立索引了。