注释:所谓多列索引,是指在创建索引时,所关联的字段不是一个字段,而是多个字段。虽然可以通过所关联的字段进行查询,但是只要查询条件中使用了所关联字段中的第一个字段,多列索引才会被使用。
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);
---------------------------------------------------------------------