面试官:说说MySQL中IN和OR的查询效率和区别

Posted 业余草

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试官:说说MySQL中IN和OR的查询效率和区别相关的知识,希望对你有一定的参考价值。

你知道的越多,不知道的就越多,业余的像一棵小草!

你来,我们一起精进!你不来,我和你的竞争对手一起精进!

编辑:业余草

推荐:https://www.xttblog.com/?p=5257

前言

很多程序员,也包括我自己,在入行之初都不太关注具体的实现,只需要满足业务即可。但是随着工作年限的增长,很多技术,你需要了解它们的底层,找出各种实现的区别。

最近遇到了一个网站卡死的问题,但是过了几分钟网站又好了,我让工作了 4 年的一个同事排查问题,他找了半天,毫无头绪。然后,我帮他找到了定时任务,其中有个 sql 查询,执行效率很慢,我建议将 or 改为 in,效率提升了几百倍。

下面我们一起回顾一下这个问题。

场景描述

  1. 两个表关联查询

  2. table1 的数据量接近 100 万

  3. table2 的数据量接近 900 万

  4. 查询条件中的 title 字段没有加索引

  5. 原始查询语句

SELECT a.id as id FROM `

以上是关于面试官:说说MySQL中IN和OR的查询效率和区别的主要内容,如果未能解决你的问题,请参考以下文章

面试官:说说MySQL中IN和OR的查询效率和区别

面试官: MySQL 中 count(*) 和 count 有什么区别?哪个性能最好?

redis┃面试官问我redis事务和mysql事务的区别,我

面试官:说说left join和left semi join 两者有什么区别?

面试官:说说 String.intern() 和常量池?不同 JDK 版本有什么区别?

面试官:说说 String.intern() 和常量池?不同 JDK 版本有什么区别?