最左匹配原则是指在使用复合索引(也叫联合索引),即由多个列组成的索引时,只有从索引的最左边的列开始进行查询,才能利用到该复合索引。

例如,如果有一个联合索引为 (col1, col2, col3),那么只有按照以下顺序进行查询才能利用该索引:

  • col1
  • col1, col2
  • col1, col2, col3

而如果查询是这样的:

  • col2
  • col2, col3

则不能使用该复合索引。

为什么必须要最左匹配?

例如,我们以 (年龄,姓名,住址) 为联合索引,如下图所示: image.png 此时只有我们使用了最左匹配原则:(年龄)或(年龄,姓名)或(年龄,姓名,住址) 才能顺利的找到对应的数据,否则将无法使用上图中的联合索引进行高效的查询了。

特殊说明

以上内容来自我的《Java 面试突击训练营》,这门课程是有着十几年工作经验(前 360 开发工程师),10 年面试官经验的我,花费 4 年时间打磨完成的一门视频面试课。学完训练营的课程之后,基本可以应对目前市面上绝大部分公司的面试了,并且课程配备了 9 大就业服务,帮助上千人找到 Java 工作,其中上百人拿到大厂 Offer,学员最高薪资 70W 年薪,面试课目录和 9 大服务如下:

加我微信咨询:vipStone【备注:训练营】