二十四、复合索引前导列

简介: 二十四、复合索引前导列

一、复合索引前导列特性

在 MySQL 中如果创建了符合索引,例如创建复合索引(name,salary,dept),就相当于创建了(name,salary,dept)、(name,salary)和 (name) 三个索引,这被称为复合索引前导列特性,因此在创建复合索引时应该将从常用作为查询条件的列放在最左边,依次递减。以下列举除了未使用索引的情况和使用索引的情况:

# 未使用索引
select * from employee where salary=8000;
select * from employee where dept='部门A';
select * from employee where salary=8000 and dept='部门A';
# 使用索引
select * from employee where name='张三';
select * from employee where name ='张三' and salary=8000;
select * from employee wherename ='张三' and salary=8000 and dept='部门A';
select * from employee wherename ='张三'  and dept='部门A';
目录
相关文章
|
26天前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
25 1
|
存储 索引
为什么范围后索引会失效 存储引擎不能使用索引中范围条件右边的列
比如说有三个字段 a b c,建立复合索引a_b_c。此时叶子节点的数据排序后可能为
83 0
|
索引 关系型数据库 MySQL
十六、组合索引(上)
十六、组合索引
65 0
|
SQL 关系型数据库 MySQL
十七、复合索引最左特性
十七、复合索引最左特性
51 0
|
索引
十五、避免在索引列上使用内置函数
十五、避免在索引列上使用内置函数
69 0
|
关系型数据库 MySQL 索引
B+树索引使用(7)匹配列前缀,匹配值范围(十九)
B+树索引使用(7)匹配列前缀,匹配值范围(十九)
|
关系型数据库 MySQL 数据库
MYSQL数据库字母数字混合字段排序问题
对MySQL数据表里的一个字符型字段排序,其内容格式为一位字母+顺序数字。数字没有前导零,长度不固定。这种含字母的数字序列,排序出来的结果和我们想要的结果是不一样的,因为它不是纯数字,只能按字符规则排。
2866 0
|
SQL Oracle 关系型数据库
三大关系数据库字段值超长的一个有趣对比
三大关系数据库字段值超长的一个有趣对比   在开发中,我们可能会遇到插入字段值超长的情况,前阵子遇到这样一个案例,结果一对比后发现一个有趣的现象,如果插入字段值超长,ORACLE、SQL Server、MySQL它们会提示那个字段值超长吗?下面看看实验吧:   ORACLE数据库   SQL> ...
1288 0
|
关系型数据库 MySQL 索引