联合索引复习

90 阅读1分钟

联合索引

定义: 联合索引是指对表上的多个列进行索引。从本质上来说,联合索引也是一颗B+树,不同的事联合索引的键值数量不是1 而是大于2.

举例:

create table t (
a int,
b int,
primary key (a),
key idx_a_b (a,b)
) ENGINE=INNODB

insert into t values(1,1),(1,2),(2,1),(2,4),(3,1),(3,2)
数组库是按照顺序进行存放的

两个查询的分析 1:select * from t where a = 1 and b = 2

对于这个查询语句,会使用到(a,b)这个连个索引。

2:select * from t where a = 1

对于这个可能使用两个索引 primarykey 和 (a,b)这个索引

3:select * from t where b = 2

对于这个则使用不上索引。
联合索引的好处
1:联合索引已经对第二份键值进行了排序