复合索引最左特性

简介: 复合索引最左特性

1、创建复合索引

ALTER TABLE employee ADD INDEX idx_name_salary (name,salary)

2、满足复合索引的最左特性,哪怕只是部分,复合索引生效

SELECT * FROM employee WHERE NAME='小王'

3、没有出现左边的字段,则不满足最左特性,索引失效

SELECT * FROM employee WHERE salary=5000

4、复合索引全使用,按左侧顺序出现 name,salary,索引生效

SELECT * FROM employee WHERE NAME='小王' AND salary=5000

5、虽然违背了最左特性,但MySQL执行SQL时会进行优化,底层进行颠倒优化

SELECT * FROM employee WHERE salary=5000 AND NAME='小王'

6、理由

复合索引也称为联合索引,当我们创建一个联合索引的时候,如(k1,k2,k3),相当于创建了(k1)、(k1,k2)和(k1,k2,k3)三个索引,这就是最左匹配原则。联合索引不满足最左原则,索引一般会失效。

 

相关文章
|
IDE 开发工具 Python
01-你好Python-python环境安装 python解释器的安装 pycharm的安装
01-你好Python-python环境安装 python解释器的安装 pycharm的安装
|
SQL 数据库
SQL Sever 子查询与嵌套查询
作者主页:https://www.couragesteak.com/
SQL Sever 子查询与嵌套查询
|
负载均衡 算法 调度
负载均衡集群LVS调度算法实战(三)|学习笔记
快速学习负载均衡集群LVS调度算法实战
负载均衡集群LVS调度算法实战(三)|学习笔记
赛博朋克首发Bug多,CDPR:旅程刚开始,已着手更新修复
赛博朋克首发Bug多,CDPR:旅程刚开始,已着手更新修复
484 1
赛博朋克首发Bug多,CDPR:旅程刚开始,已着手更新修复
|
Java 开发者
一文速解生产者-消费者模式问题 | 带你学《Java语言高级特性》之十二
本节将结合具体实例,手把手带领读者解决上一节中提到的生产者-消费者操作中的两大问题。
|
缓存 Java 测试技术
Spring使用Cache、整合Ehcache
spring-data-jpa+hibernate 各种缓存的配置 Ehcache   相关资源  http://elim.iteye.com/blog/2117505 今天遇到缓存问题查了很多资料,发现这个文章不错,转载一下,希望对各位有用 以下是转载内容 目前在使用spring-data-jpa和hibernate4的时候,对于缓存关系不是很清楚,以及二级缓存和查询缓存的各种配置等等,于是就有了这篇初级的jpa+hibernate缓存配置使用的文章。
1297 0
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1014 151