首页 > 代码库 > MySQL 调优 —— Using filesort
MySQL 调优 —— Using filesort
出现这个问题的解决办法在于 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
而索引是 idx_user_id(id)
如今又一次建立索引为 idx_user_id_update_time(id,update_time)
再使用 EXPLAIN 命令查看。 假设 key 使用的是上述新建的 idx_user_id_update_time 索引。 则能够看到 Using file sort 问题消失了。 假设 key 不是使用新建 idx_user_id_update_time 索引。 能够使用 force index() 方法强制使用这个索引, 此时 using filesort 问题就攻克了。
SELECT * FROM user u force index(idx_user_id_update_time) where u.id=100 order by u.update_time
MySQL 调优 —— Using filesort
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。