联合索引是多个字段组合的索引,索引的排列顺序是按照字段从左到右依次排序的。
比如联合索引是 字段1、字段2、字段3
索引的顺序是 先按照字段1,进行排列,字段1一样的,再按照字段2排列,字段1和字段2都一样的,按照字段3排列。
如下图:
最左匹配原则
使用联合索引,必须查询条件使用了最左边的索引字段,否则不会使用联合索引。
比如:如果有联合索引(a,b),如果直接用b=x进行查找是不会使用联合索引(a,b)的。用a=x and b=xx进行查找或者 a=x进行查找会使用联合索引。
上图,如果查询 name='a',或者 name='a' and age=20 或者 name='a' and age=20 and position='dev' 都可以使用索引,但如果使用 age=20 或者age=20 and position='dev' 则不会使用索引