Advertisement

指摘网络上的错误观点

阅读量:

大家在背 MySQL 八股文的时候,是不是经常看到这句话。

联合索引的最左匹配原则会在遵循特定条件的情况下持续向右进行匹配操作,直至遇到指定范围查询符(如>,<,between,like)时则触发限制,从而终止当前的匹配过程。

我去网络搜索平台查询了一下后发现绝大多数网站都得出了同样的结果普遍认为这一观点已经深入人心大概很多人都认同这一论断

昨晚我进行了若干个实验的尝试。意识到这一结论并非完全准确!去除 「between 和 like」这个结论就没有问题。

经过实验的证明,我得出的结论是这样的:

联合索引的最左匹配原则表明,在处理包含>或<等范围查询时会提前终止匹配过程;这意味着前面字段能够利用联合索引进行优化。然而,在处理完这些前面字段后处理后续字段时就无法再使用联合索引了。值得注意的是,针对>=, <=, BETWEEN以及like前缀匹配这四类范围查询,则不会提前终止匹配过程。

接下来,我会用几个实验例子来说明这个结论。

![](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/

全部评论 (0)

还没有任何评论哟~