联合索引的使用遵守最左前缀法则,查询时必须包含索引最左边的索引(不一定在最前面)。如果中间跳过索引,索引将部分失效。如果用了范围查询(>,<),则范围查询的右边的索引失效
创建索引 CREATE [UNIQUE|FULLTEXT] index index _name ON table_name(index_col_name,...); 查看索引 SHOW INDEX FROM table_name; 删除索引 DROP INDEX index_name ON table_name;
查看索引
表中没有索引
创建索引
表中的序号表示在联合索引中的顺序
正常使用联合索引
完整使用时,联合索引长度为91
只使用workno和age两个索引时,索引长度为48,则name的索引长度为91-48=43
只使用age索引时,索引长度为43,则age索引长度为48-4=5
不使用最左边的联合索引时
索引未被使用
中间跳过一个索引或使用范围范围查询时
中间跳过一个索引,索引长度为43,只有workno索引起效。
使用范围查询时,索引长度为48,只有workno和age索引起效。
注意索引的在语句中只需要存在,不需要遵守联合索引的逻辑顺序
age在语句中在name的前面
索引长度为91,联合索引被使用
删除索引