出现这个问题的原因在于 MySQL 每次查询只能使用一个索引, 而你的 SQL 语句 WHERE 条件和 ORDER BY 的条件不一样, 索引没建好的话, 那么 ORDER BY 就使用不到索引, 出现了 Using filesort 问题。
解决这个问题就是建立一个包含 WHERE 和 ORDER BY 条件的混合索引。
比如原来 SQL 语句是:
SELECT * FROM user u where u.id=100 order by u.update_time
SELECT * FROM user u force index(idx_user_id_update_time) where u.id=100 order by u.update_time