MySQL最左前缀匹配原则 举个栗子: 当我们建立联合索引(a,b,c),索引文件中对应的B+树每个节点都存储了a,b,c的值,而B+树上查询到对应叶子节点时,是按照我们建立联合索引的字段顺序来依次查询。 即在节点中,选择下一个节点时,先判断a,再判断b,最后判断c,因为我们建立索引的顺序就是abc的顺序。 所以当我们的SQL语句中,如果where条件语句中不包含a,则不会走任何索引。如: select * where and b=1 and c=1 因为只当匹配了a字段之后,才能匹配到后面的字段。 而下面这种情况只会对a进行索引查询,而不会在索引树中对b,c进行查询 select