注释:所谓多列索引,是指在创建索引时,所关联的字段不是一个字段,而是多个字段。虽然可以通过所关联的字段进行查询,但是只要查询条件中使用了所关联字段中的第一个字段,多列索引才会被使用。
1.create table table_name (
属性名 数据类型,
属性名 数据类型,
...
属性名 数据类型,
index|key 【索引名】(属性名1 【(长度)】【ASC|DESC】... 属性名n 【(长度)】【ASC|DESC】
for example: create table t_dept(
deptno int,
dname varchar(20),
loc varchar(20),
key index_dname(dname,loc)
);
show create table t_dept \G
explain select * from t_dept where dname ='ci' \G;
---------------------------------------------------
2.在已经存在的表上创建多列索引
create index 索引名 on 表名 (属性名 【(长度)】 【ASC|DESC】),
...
属性名n 【(长度)】【ASC|DESC】)
create index index_dname_loc on t_dept(dname,loc);
show create table t_dept \G;
---------------------------------------------------
3.通过sql语句alter table 创建多列索引
alter table table_name
add index|key 索引名 (属性名 【(长度)】 【ASC|DESC】,
...
属性名n 【(长度)】【ASC|DESC】
);
for example; alter table t_dept add index index_name_loc(dname ,loc);
---------------------------------------------------------------------
转载于:https://blog.51cto.com/xin521long/1832422