面试官:说说MySQL中IN和OR的查询效率和区别
Posted 业余草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试官:说说MySQL中IN和OR的查询效率和区别相关的知识,希望对你有一定的参考价值。
你知道的越多,不知道的就越多,业余的像一棵小草!
你来,我们一起精进!你不来,我和你的竞争对手一起精进!
编辑:业余草
推荐:https://www.xttblog.com/?p=5257
前言
很多程序员,也包括我自己,在入行之初都不太关注具体的实现,只需要满足业务即可。但是随着工作年限的增长,很多技术,你需要了解它们的底层,找出各种实现的区别。
最近遇到了一个网站卡死的问题,但是过了几分钟网站又好了,我让工作了 4 年的一个同事排查问题,他找了半天,毫无头绪。然后,我帮他找到了定时任务,其中有个 sql 查询,执行效率很慢,我建议将 or 改为 in,效率提升了几百倍。
下面我们一起回顾一下这个问题。
场景描述
-
两个表关联查询
-
table1 的数据量接近 100 万
-
table2 的数据量接近 900 万
-
查询条件中的 title 字段没有加索引
-
原始查询语句
SELECT a.id as id FROM `
以上是关于面试官:说说MySQL中IN和OR的查询效率和区别的主要内容,如果未能解决你的问题,请参考以下文章
面试官: MySQL 中 count(*) 和 count 有什么区别?哪个性能最好?
redis┃面试官问我redis事务和mysql事务的区别,我
面试官:说说left join和left semi join 两者有什么区别?