MySQL 调优 —— Using filesort
2017-07-02 13:43
232 查看
出现这个问题的解决办法在于 MySQL 每次查询仅仅能使用一个索引, 而你的 SQL 语句 WHERE 条件和 ORDER BY 的条件不一样, 索引没建好的话。 那么 ORDER BY 就使用不到索引。 出现了 Using filesort 问题。
解决问题就是建立一个包括 WHERE 和 ORDER BY 条件的混合索引。
比方原来 SQL 语句是:
而索引是 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 问题就攻克了。
解决问题就是建立一个包括 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
- mysql explain中的using filesort
- Mysql之EXPLAIN显示using filesort
- 优化MySql中explain的时候出现using filesort
- MySQL性能优化(六)-- using filesort,in和exists,慢查询,mysqldumpslow
- Mysql之EXPLAIN显示using filesort
- mysql优化(四)mysql优化索引--Using filesort
- Mysql之EXPLAIN显示using filesort
- mysql order by 造成语句 执行计划中Using filesort,Using temporary相关语句的优化解决
- What does Using filesort mean in MySQL?
- Mysql之EXPLAIN显示using filesort介绍
- mysql using filesort 的解决方案
- MySQL优化-using filesort
- MySQL优化order by导致的 using filesort
- MySQL 索引优化 Using where, Using filesort
- Mysql之EXPLAIN显示using filesort
- MySql中explain的时候出现using filesort,优化之
- mysql --- using filesort
- mysql查询优化--临时表和文件排序(Using temporary; Using filesort问题解决)
- mysql using filesort