mysql高级查询中in作用是什么(mysql中and和or的用法区别举例)

技术mysql中in和or的区别有哪些这篇文章主要讲解了“mysql中in和or的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中in和or的区别有哪

本文主要讲解“in和或在mysql中有什么区别”,简单明了,易学易懂。请跟随边肖的思路,一起学习和学习“In和或者mysql有什么区别”!

区别:1。in通过父查询表和子自查询表进行散列连接操作查询,或者在循环父查询表后查询子查询表;2.在没有索引或主键的情况下,随着in或or后数据的增加,or的执行效率会明显下降,in的执行效率不会明显下降。

本教程的操作环境:windows10系统,MySQL版本mysql8.0.22,戴尔G3电脑。

mysql中in和or的区别是什么

做数据对比,几千万级的数据

sql语句中in和or的区别在于:操作不同,契合度不同,执行效率不同。

一、不同操作

1.In: in:in对父查询表和子自查询表进行哈希运算。

2.或者:或者是循环父查询表,每次循环都查询子查询表。

二、适合不同的5261

1.In: in:适用于子查询表数据多于父查询表数据的4102种情况。

2.Or: or适用于子查询表数据小于父查询表数据的情况。

第三,执行效率不同

1.in:没有索引,in的执行效率不会随着in后数据量的增加而大幅降低。

2.或者:没有索引,随着or后面的数据越多,or的执行效率会明显下降。

如果在in和or的列中有索引或者主键,那么or和in就没有区别,执行计划和执行时间也差不多。

如果和或中的列没有索引,性能将会大不相同。没有索引,in的效率不会随着in或or后面数据量的增加而下降太多,但是or的性能会随着记录的增加而急剧下降。

因此,在定义in和or的效率时,我们应该添加另一个条件,即我们所在的列是有索引还是主键。如果有索引或主键,性能没有差别。如果没有指标,性能差不是一点点!

感谢阅读。这就是“在和或者在mysql中有什么区别”的内容。看完这篇文章,相信你对In和或者在mysql中的区别有了更深的理解,具体用法还需要实践来验证。在这里,边肖将为您推送更多关于知识点的文章,敬请关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/156271.html

(0)

相关推荐

  • 首页css

    技术首页css 首页cssbody{ background-color: #CCCCCC;}.content ul{ padding-left: 0;}.content ul li{ display:

    礼包 2021年10月27日
  • 如何理解MySQL优化思想

    技术如何理解MySQL优化思想如何理解MySQL优化思想,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。优化一览图优化 笔者将优化分为了两大类:软优化和硬

    攻略 2021年11月4日
  • 分析PostgreSQL创建函数的过程

    技术分析PostgreSQL创建函数的过程本篇内容主要讲解“分析PostgreSQL创建函数的过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分析PostgreSQL创建函

    攻略 2021年11月5日
  • cpu为什么可以直接访问内存(cpu是如何访问内存的)

    技术CPU是如何访问内存的这期内容当中小编将会给大家带来有关CPU是如何访问内存的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。内存管理可以说是一个比较难学的模块,之所以比较难学。一是

    攻略 2021年12月21日
  • 怎么搭建Solr8与ikanalyzer

    技术怎么搭建Solr8与ikanalyzer今天就跟大家聊聊有关怎么搭建Solr8与ikanalyzer,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。服务安装并启

    攻略 2021年10月19日
  • C++怎么结合使用泛型和面向对象技术

    技术C++怎么结合使用泛型和面向对象技术本篇内容介绍了“C++怎么结合使用泛型和面向对象技术”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年11月24日