十七、复合索引最左特性

简介: 十七、复合索引最左特性

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)三个索引,这就是最左匹配原则。联合索引不满足最左原则,索引一般会失效。

目录
相关文章
|
1月前
|
存储 关系型数据库 MySQL
MySQL索引简介(包含索引优化,索引失效,最左前缀简洁版)
MySQL索引简介(包含索引优化,索引失效,最左前缀简洁版)
40 0
|
SQL 关系型数据库 MySQL
复合索引最左特性
复合索引最左特性
|
SQL 关系型数据库 MySQL
索引最左前缀原则
索引最左前缀原则
58 0
|
SQL 存储 关系型数据库
索引的创建与设计原则(2)(适合创建索引情况 )
索引的创建与设计原则(2)(适合创建索引情况 )
索引的创建与设计原则(2)(适合创建索引情况 )
|
存储 SQL 关系型数据库
MySql索引详解-各种索引的定义与区别和应用
什么是索引?索引的作用,有无索引的区别。
163 0
MySql索引详解-各种索引的定义与区别和应用
|
索引 关系型数据库 MySQL
十六、组合索引(上)
十六、组合索引
65 0
|
SQL 搜索推荐 关系型数据库
B+树索引使用(8)排序使用及其注意事项(二十)
B+树索引使用(8)排序使用及其注意事项(二十)
|
存储 SQL 缓存
B+树索引使用(9)分组、回表、覆盖索引(二十一)
B+树索引使用(9)分组、回表、覆盖索引(二十一)
|
关系型数据库 MySQL 索引
B+树索引使用(7)匹配列前缀,匹配值范围(十九)
B+树索引使用(7)匹配列前缀,匹配值范围(十九)
|
存储 SQL 关系型数据库
B+树索引使用(6)最左原则 --mysql从入门到精通(十八)
B+树索引使用(6)最左原则 --mysql从入门到精通(十八)