QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

数据库

mysql force index 语法_MySQL FORCE INDEX 强制索引使用

 admin  2022-11-28 12:17:09
强制索引,即指定本次查询使用某个特定的索引,这样就可避免MySQL优化器使用低效的索引。

有时候在执行大数据量sql查询的时候会出现非常慢的情况,出现这个问题的原因在于 MySQL 每次查询只能使用一个索引, 而 SQL 语句 WHERE 条件和 ORDER BY 的条件不一样, 索引没建好的话, 那么 ORDER BY 就使用不到索引, 出现了 Using filesort 问题。
解决这个问题就是建立一个包含 WHERE 和 ORDER BY 条件的混合索引。

比如原来 SQL 语句是:
  1. 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 问题就解决了。
force index()使用方式:
  1. SELECT * FROM user u force index(idx_user_id_update_time) where u.id=100 order by u.update_time 
ps 拓展:
1、ignore index 忽略某个索引。
2、force index 强制使用某个索引,如果这个索引没有用上,则会全表扫描。 
3、use index 建议使用某个索引,如果这个索引没用上,会再寻找其它索引


¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《mysql force index 语法_MySQL FORCE INDEX 强制索引使用》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/html/Database/924.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序