CREATE TABLE `tblA`(
`id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`age` INT(11) DEFAULT NULL,
`birth` timestamp not NULL
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into tblA(age,birth) values (22,now());
insert into tblA(age,birth) values (23,now());
insert into tblA(age,birth) values (24,now());
create index idx_A_ageBirth on tblA(age,birth);
select * from tblA;
order by使用索引,的关键就看,是否产生了Using filesort。
mysql默认的排序是asc。而现在提交的birth是desc,所以mysql会在内部产生一个内部排序,再提交。所以,有Using filesort。
filesort的两种算法:
MySQL的两种filesort算法介绍以及相关参数的设置和优化