修改问题: 下面出现的问题貌似是我本地环境的问题, 换了个环境就可以了, 现在我想问问我的环境为什么会出现下面的情况 :(
最近学习数据库优化, 遇到不少不解的地方:
mysql查询数据时filesort什么情况下出现, 我创建如下表,
create table test ( id int auto_increment primary key, name varchar(20), age tinyint )
添加测试数据
insert into test (name, age) values ('zhang', 8), ('wang', 18), ('li', 2), ('zhang', 12), ('zhao', 23), ('zhang', 7), ('li', 12), ('wang', 4)
然后执行
explain select * from test order by id
这里的using filesort为什么会出现, 我看资料上有说当排序的字段不能使用索引时就会使用filesort, 但id不该是索引吗
http://s.petrunia.net/blog/?p=24,其中特别谈到了filesort与order by的关系。