Mysql 索引机制( 转载)http://blog.csdn.net/wenniuwuren

MySQL 调优 —— Using filesort
标签: 索引MySQL性能调优慢查询Using filesort
2015-12-22 15:16 897人阅读 评论(0) 收藏 举报
分类: MySQL(13)
版权声明:本文为博主原创文章,未经博主允许不得转载。 转发请注明来自 http://blog.csdn.net/wenniuwuren
出现这个问题的原因在于 MySQL 每次查询只能使用一个索引, 而你的 SQL 语句 WHERE 条件和 ORDER BY 的条件不一样, 索引没建好的话, 那么 ORDER BY 就使用不到索引, 出现了 Using filesort 问题。

解决这个问题就是建立一个包含 WHERE 和 ORDER BY 条件的混合索引。

比如原来 SQL 语句是:
[sql] view plain copy print?在CODE上查看代码片派生到我的代码片
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 问题就解决了。
[sql] view plain copy print?在CODE上查看代码片派生到我的代码片
SELECT * FROM user u force index(idx_user_id_update_time) where u.id=100 order by u.update_time
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值