什么是索引的最左前缀法则

 

正文

最左前缀法则:如果索引有多列,如:联合索引,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列,否则将用不到索引。

EXPLAIN SELECT * FROM employees WHERE age = 22 AND position ='manager'。

EXPLAIN SELECT * FROM employees WHERE position = 'manager'。

EXPLAIN SELECT * FROM employees WHERE name = 'LiLei'。

1.1 最左前缀法则

上面我们将表name, age  , position 三个字段组成的联合索引,下面使用如下sql进行查询

 

 

 

 

思考,上面的那三个sql语句,那个能能使用索引,哪些不能?为什么?

 

 

1.2 分析

通过explain关键字分析,key有值,表示,走了联合索引,否则没有走索引

 

 

 

 

只有第一条sql能触发索引,因为,他符合最左前缀法则,

联合索引也是使用B+树的结构来存储数据的,where后面的查询条件,如果,首先是非name字段,如果是age=30,那么,

去查询b+树的时候,所有节点并不是根据age字段由小到大进行排序的,只能做全表扫描,因为,联合索引节点,是先根据name字段排序的。

 

posted on   weiqinshian  阅读(721)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示