MySQL优化之索引合并

什么是索引合并?

索引合并的主要作用就是,把单张表中通过多个索引过滤出来的结果,先进行运算(交集、并集),然后再返回结果。
在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运算,并且可能索引建立的本身也不太合理,建立考虑是否可以通过建立联合索引来代替索引合并。

Guess you like

Origin blog.csdn.net/CSDN_WYL2016/article/details/120243668