Mysql:联合索引和索引合并有关系吗

2025-02-01 07:44:09
推荐回答(1个)
回答1:

  1. 你有索引index1(a,b,c),这是是联合索引,也叫复合索引、多列索引;

  2. 你有索引index2(a),index3(b),index4(c),然后你的sql中有and、or或union之类的条件对三个索引分别进行条件扫描,然后将各自的结果进行合并,这叫索引合并,这时你用explain查看执行计划会看到有“index merge”字样。

至于两者有没有关系,这怎么讲呢,一般来说,联合索引(复合索引)的效率要比索引合并要高,在能使用联合索引时尽量使用联合索引,当然这要根据具体情况,sql中寸在“or”这样的连接词时,那就可能必须要使用索引合并了。