关于索引的最左前缀法则问题

goodoh 2025-05-08 14:55:12

佬们 在学习索引时实操发现似乎没有遵循最左前缀法则也使用了索引,为啥

CREATE INDEX idx_department_did_dname_location ON department(did,dname,location);

EXPLAIN SELECT dname FROM department WHERE  location = '图书馆';

 

...全文
71 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复 1

首先是由于该查询符合索引覆盖,是在复合索引上查询到了结果,且查询也仅在索引上。
然后是索引访问方式的问题,由于没有遵守左前缀原则,对结果的查询是全量扫描索引。
最后就是失效是未能有效利用已创建的索引,导致查询效率降低或转而采用全表扫描等其他方式。符合失效描述。

57,054

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧