什么是索引合并?
索引合并的主要作用就是,把单张表中通过多个索引过滤出来的结果,先进行运算(交集、并集),然后再返回结果。
在MySQL5.0之前,单张表一次只能使用一个索引,无法同时使用多个索引分别进行条件扫描。
可能会使用到索引合并的示例
索引合并交集运算
EXPLAIN select * from table where 主键ID < ? and 普通索引 = ?
索引合并并集运算
EXPLAIN select * from table where 主键ID = ? or 普通索引 = ?
索引合并交集+并集
EXPLAIN select * from table where 普通索引 = ? and 主键ID < ? or 普通索引 = ?
索引合并并集排序
EXPLAIN select * from table where 主键ID < ? or 普通索引 < ?
建议
当出现索引合并时,意味着可能会存在大量的CPU运算,并且可能索引建立的本身也不太合理,建立考虑是否可以通过建立联合索引来代替索引合并。