MySQL多表关联on和where速度对比实测谁更快

这篇具有很好参考价值的文章主要介绍了MySQL多表关联on和where速度对比实测谁更快。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MySQL多表关联on和where速度对比实测谁更快

背景

  • 今天发现有人在讨论:两张MySQL的数据表按照某一个字段进行关联的时候查询,我们使用on和where哪种查询方式更快。
  • 百闻不如一见,我们来亲自测试下。

先说结论

  • Where、对等查询的join速度基本一致,不对等查询时一般join更慢。

不存在不等记录

  • 我们有两张表,分别是member和member_class,数据结构如下图,其中 member.class_id 和 member_class.id 是关联字段

  • MySQL多表关联on和where速度对比实测谁更快,JAVA基础工作中实际总结,编程学习,mysql,数据库

  • MySQL多表关联on和where速度对比实测谁更快,JAVA基础工作中实际总结,编程学习,mysql,数据库

  • 我们分别向两张表写入了20万条数据,其中member.class_id 都一定存在于member_class.id中(不存在不等记录)

查全表

  • MySQL多表关联on和where速度对比实测谁更快,JAVA基础工作中实际总结,编程学习,mysql,数据库

  • MySQL多表关联on和where速度对比实测谁更快,JAVA基础工作中实际总结,编程学习,mysql,数据库

  • 为了实验更加相对准确,我们对每条结果查询20次:where查询耗时分别为(秒):0.253, 0.256, 0.256, 0.252, 0.257, 0.252, 0.260, 0.265, 0.253, 0.252, 0.254, 0.257, 0.254, 0.257, 0.243, 0.250, 0.252, 0.252, 0.255, 0.284on查询耗时分别为(秒):0.247, 0.260, 0.250, 0.246, 0.271, 0.247, 0.251, 0.247, 0.243, 0.247, 0.247, 0.245, 0.249, 0.246, 0.247, 0.253, 0.248, 0.254, 0.251, 0.247, 0.250where查询平均为0.2557s,on查询平均为0.2498s;两者基本一致,相差几乎可以忽略。

存在不等记录

  • 我们新建一个member_v2表,其中class_id只有20%是member_class.id中存在的,如下图:

  • MySQL多表关联on和where速度对比实测谁更快,JAVA基础工作中实际总结,编程学习,mysql,数据库

  • 我们继续查询全表测试:

  • MySQL多表关联on和where速度对比实测谁更快,JAVA基础工作中实际总结,编程学习,mysql,数据库

  • MySQL多表关联on和where速度对比实测谁更快,JAVA基础工作中实际总结,编程学习,mysql,数据库

  • 能看出来非常明显的差距,LEFT JOIN由于存在大量不等记录,出现大量的NULL值,此时中间表查询效率变得更低,而选择WHERE查询能够在查询时自动过滤不等记录。所以查询时间也更快一些。文章来源地址https://www.toymoban.com/news/detail-719543.html

结论

  • 在对等查询过程中,ON的查询更快;在不对等查询时,WHERE更快。

到了这里,关于MySQL多表关联on和where速度对比实测谁更快的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL---多表联合查询(下)(内连接查询、外连接查询、子查询(ALL/ANY/SOME/IN/EXISTS关键字)、自关联查询)

    1. 内连接查询 数据准备: 内连接查询语法: 2. 外连接查询 语法: 左外连接: left outer join:             select * from A left outer join B on 条件 ;             右外连接: right outer join:             select * from A right outer join B on 条件 ;             满外连接 : full out

    2024年02月04日
    浏览(56)
  • 了解HTTP协议,让你的网站速度更快

    本文向大家分享http协议相关基础知识,了解http的请求方法,相关http状态码,及http报文的介绍,希望对大家在工作上能有所帮助。 HTTP协议,全称HyperText Transfer Protocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP的重要应用之一是WWW服务。设计HTTP协议最

    2024年02月10日
    浏览(65)
  • Stable Diffusion ComfyUI 速度更快,控制更精准

    大家在使用Stable Diffusion(简称SD)时,通常是通过网页界面进行操作的。但你们有没有听说过ComfyUI呢? ComfyUI是一个建立在节点流程上的SD操作界面。它通过流程节点来实现更细致的工作流定制以及更好的可复现性。 每个节点都承担着特定的功能,用户可以通过调节这些节点

    2024年03月21日
    浏览(55)
  • Hadoop 多表关联

    一、实例描述 多表关联和单表关联类似,它也是通过对原始数据进行一定的处理,从其中挖掘出关心的信息。下面进入这个实例。 输入是两个文件,一个代表工厂表,包含工厂名列和地址编号列;另一个代表地址列,包含地址名列和地址编号列。要求从输入数据中找出工厂

    2023年04月08日
    浏览(73)
  • FLink多表关联实时同步

    Oracle-Debezium-Kafka-Flink-PostgreSQL Flink消费Kafka中客户、产品、订单(ID)三张表的数据合并为一张订单(NAME)表。 Oracle内创建三张表 PostgreSQL内创建一张表 其他前置环境 Oracle、PostgreSQL、Kafka、FLink、Debezium-Server的部署参见本系列其他文章搭建。 采用前置条件中的语句建表即可,

    2023年04月25日
    浏览(65)
  • SQL中ON筛选和Where筛选的区别

    转载:sql连接查询中on筛选与where筛选的区别 https://zhuanlan.zhihu.com/p/26420938 结论:on后面接上连接条件,where后面接上过滤条件

    2024年02月10日
    浏览(36)
  • 多表关联进行update更新数据

    在平常的工作中,我们经常会更新表的数据。常见的表关联更新数据例如用where条件进行表关联,或者用join进行表的连接更新表的数据。 1:创建测试表: 2:将名字为“阿杜”同学的兴趣爱好改为跳舞: 3:如果表数据量比较大,可以查询需要关联的字段,这样可以提高效率

    2024年02月08日
    浏览(39)
  • Hibernate多表关联——(一对多关系)

    hibernate是连接数据库使得更容易操作数据库数据的一个框架,在上一篇文章( 感兴趣的小伙伴点击这里📔’)中我们演示了单表建立查询。接触过数据库的都知道 关系型数据库 表有三种关系, 一对一,一对多,多对多 。而接下来我们在hibernate中建立 一对多 关系,打开数

    2023年04月09日
    浏览(46)
  • SQL查询数据之多表(关联)查询

      数据表: 关联查询主要分为:(inner join)交叉关联、(left join)左关联、(right join)右关联 (inner join)交叉关联: 定义:(inner join)交叉关联只返回两个表联结相等的字段的行 语法:select * from 表1 inner join 表2 on 表1.字段号=表2.字段号 比如我要查学生表和成绩表的交叉

    2023年04月08日
    浏览(40)
  • hive 谓词下推实例分析(on与where的区别)

    t1 表 t2 表 t1 left join t2 t1 left join t2 on a.id=b.id where a.dt =‘01’,保留表谓词下推,map端提前过滤 t1 left join t2 on a.id=b.id and a.dt =‘01’,保留表非谓词下推,reduce端过滤 说明 :保留表应用谓词下推,提前过滤,会把不符合条件的数据提前过滤掉;保留表不应用谓词下推,不提前

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包