组合索引是指使用多个字段创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用(最左前缀原则)。

    最左前缀原则
    就是最左优先。
    如: 我们使用表中的 name ,address ,salary 创建组合索引,那么想要组合索引生效, 我们只能使用如下组合:
    name/address/salary
    name/address
    name/
    如果使用 addrees/salary 或者是 salary 则索引不会生效。

    添加组合索引
    ALTER TABLE table_name ADD INDEX index_name (column(length),column(length));
    示例:alter table emp6 add index emp6_index_n_a(name,address);

    创建表时创建组合索引
    CREATE TABLE table (
    COLUMN TYPE ,
    INDEX index_name (column(length),column(length)));
    示例:create table emp7(emp_id int primary key auto_increment ,name varchar(20),address varchar(30),index emp7_index_n_a(name,address));