什么是最左前缀原则?

最左前缀原则指的是:MySQL使用联合索引时,必须从最左边的字段开始匹配,才能命中索引。

范围查询后的列还能用索引吗?

范围查询只能应用于最左前缀的最后一列。范围查询之后的列无法使用索引。

select * from table where a = 1 and b > 2 and c = 3;
-- 只能使用a和b,c无法使用索引

为什么不从最左开始查,就无法匹配呢。
因为联合索引在B+树中,是按照最左字段优先排序构建的,如果跳过最左字段,MySQL无法判断查找范围从哪里开始,自然也就无法使用索引。

posted @ 2025-05-27 17:30  kuki'  阅读(54)  评论(0)    收藏  举报