参考文章
https://juejin.cn/post/6844903966690508814
https://juejin.cn/post/6876046792056635405
https://segmentfault.com/a/1190000015416513
https://cloud.tencent.com/developer/article/1774781
https://segmentfault.com/a/1190000022690969
https://mp.weixin.qq.com/s?__biz=MzI1MDU0MTc2MQ==&mid=2247484069&idx=1&sn=d40d90ab9e3041757262be5192a46e9e&chksm=e981e10bdef6681dde2ede9c1293e4b379fb827ab3c7d64ae828311c4ee14e19e20d7537d5f0#rd mysql一条语句执行流程
https://juejin.cn/post/7083269706232102925
最左前缀匹配原则
在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,示例:
对列col1、列col2和列col3建一个联合索引
KEY test_col1_col2_col3 on test(col1,col2,col3);
联合索引 test_col1_col2_col3 实际建立了(col1)、(col1,col2)、(col,col2,col3)三个索引。
SELECT * FROM test WHERE col1=“1” AND clo2=“2” AND clo4=“4”
上面这个查询语句执行时会依照最左前缀匹配原则,检索时会使用索引(col1,col2)进行数据匹配。
