MySQL 联合索引最左匹配原则,一句话吃透索引规则 联合索引也就是多列复合索引比如创建索引idx_name_phone (name,phone)最左匹配原则是查询条件必须匹配索引最左侧前列字段索引才会生效查询从第一个不满足条件的字段开始后续列全部无法走索引。示例索引(a,b,c)where a? and b? and c? 完全匹配索引全部生效where a? and b? 前缀匹配索引生效where b? 跳过首列 a索引直接失效sql-- 索引(a,b)本条SQL无法走索引select*fromtablewhereb13800001111;同时不能在索引列使用函数运算、模糊查询 % 前缀否则也会破坏索引结构导致失效。建索引时需要把区分度高、查询频次最高、常作为前置条件的字段放在联合索引最左侧。不要随意创建单字段索引过多索引会降低数据表插入更新速度索引本质是空间换时间适量合理设计复合索引是解决慢查询成本最低的手段。很多 SQL 执行缓慢根源就是违背最左前缀原则导致索引失效全表扫描拖慢查询效率。