数据库触发联合索引的几个条件

2017/02/23 07:43
阅读数 432

本文主要总结查询语句触发联合索引(索引定义中至少包含两个索引列)的几种条件。
示例如下。首先创建表:

CREATE TABLE E (e1 INT, e2 VARCHAR(9), e3 INT, PRIMARY KEY(e1, e3));

这样就建立了一个联合索引:e1,e3

触发联合索引是有条件的:

1、使用联合索引的全部索引键,可触发索引的使用。

例如:

SELECT E.* FROM E WHERE E.e1=1 AND E.e3=2

2、使用联合索引的前缀部分索引键,如“key_part_1 <op>常量”,可触发索引的使用。
例如:

SELECT E.* FROM E WHERE E.e1=1

3、使用部分索引键,但不是联合索引的前缀部分,如“key_part_2 <op>常量”,不可触发索引的使用。
例如:

SELECT E.* FROM E WHERE E.e3=1

4、使用联合索引的全部索引键,但索引键不是AND操作,不可触发索引的使用。
例如:

SELECT E.* FROM E WHERE E.e3=2 OR E.e1=1

 

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部