本篇内容介绍了“如何解决mysql left join 查询不走索引的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
本地有两张表 alarm闹钟表和alarm_order闹钟订单表
在alarm_order订单表中有alarm_id建立了索引,但是发现在left join查询的时候没有走索引查询,使用了全文搜索
乍一看,sql语句似乎并没有问题
发现两张表的字符类型确实不一样,随后把表1改为utf8,再次查询发现依旧不起作用
mysql在一个表如果索引基数过小的情况下默认会走全文搜索,所以对于表业务量过大但是索引字段基本上为同一数据或null的情况 还是需要在sql中写死强制索引
在sql中使用强制索引解决办法 left join 后添加 force indes(alarm_id)
因为业务数据的关系,我这边alarm_id的基数确实就是很小,为了走索引查询,直接加上强制索引查询
再次测试,问题解决了!!~~
“如何解决mysql left join 查询不走索引的问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。