MySQL 联合索引(复合索引)就是多个列组合,构成一个查询索引。
比如建立一个索引
create table A(
x int,
y int,
z int,
KEY index (x, y, z)
);
x y z 组成一个联合索引。
合理使用联合索引应注意的细节:
1、 复合索引中从左到右列的先后顺序;2、建立索引时,尽量长度小的列排在前面;3、只支持按顺序查找,比如(x)、(xy)、(xyz), 但是(yz)这样的组合查找不会使用索引。
具体介绍:
http://blog.youkuaiyun.com/robert198837/article/details/8988185
引用:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html
当对连接操作进行排序时,如果ORDER BY仅仅引用第一个表的列,MySQL对该表进行filesort操作,然后进行连接处理,此时,EXPLAIN输出“Using filesort”;否则,MySQL必须将查询的结果集生成一个临时表,在连接完成之后进行filesort操作,此时,EXPLAIN输出“Using
temporary;Using filesort”。