1)什么是联合索引?
联合索引指的是对一张表上的多个列进行索引。也就是说,表上多个列加起来组成一个索引,供快速查询使用。
2)如何使用联合索引?
首先,给表添加索引
创建表时给表添加:
CREATE TABLE t(
a int,
b int,
primary key(a),
key idx_a_b(a,b)
)
创建表后给表添加:
CREATE TABLE t(
a int,
b int,
primary key(a)
)
给表添加索引语句:
ALTER TABLE t ADD INDEX indx_a_b(a,b);
然后进行使用该联合索引进行查询,在此之前,我们需要学习联合索引的最左前缀原则。
最左前缀原则规定了联合索引在何种查询中才能生效,规则如下:
如果想使用联合索引,联合索引的最左边的列必须作为过滤条件,否则联合索引不会生效。
这也就是说,联合索引其实拥有单列索引的作用。
下面我们给上表t插入数据,学习联合索引如何正确使用:
insert into t(a,b) values(1,4);
insert into t(a,b) values(2,5);
insert into t(a,b) values(3,6);
最左前缀原则实验: