千家信息网

MYSQL 8和MYSQL 5.7在复杂查询中有哪些区别

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,这篇文章主要为大家展示了"MYSQL 8和MYSQL 5.7在复杂查询中有哪些区别",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"MYSQL 8和MYSQL
千家信息网最后更新 2024年12月13日MYSQL 8和MYSQL 5.7在复杂查询中有哪些区别

这篇文章主要为大家展示了"MYSQL 8和MYSQL 5.7在复杂查询中有哪些区别",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"MYSQL 8和MYSQL 5.7在复杂查询中有哪些区别"这篇文章吧。

MySQL 8 最终是要大面积替换MYSQL5.7 , 之前的文字可能给人感觉MYSQL 8 还不如 MYSQL 5.7 ,实际上不然,任何东西新的一定有问题,解决解决就好了,在复杂查询这块 MYSQL 5.7 的确是和MYSQL 8 已经有了分别,对于开发人员撰写SQL 有什么帮助我们可以看看下面的一些例子。

下面是MYSQL 8 和 MYSQL 5.7 在一个稍微复杂查询的执行计划

对比上面的图,一样的语句,一样的数据库,一样的表,一样的数据行数和内容,mysql 8 由于各种优化,去掉了 using firesort,并且由于这一项,节省了近 20秒

下面还有相关的例子,还是出了MYSQL 版本不一致,包括硬件其他的都一样的情况下,mysql 8 比 mysql 5.7 要快 4倍 34秒与128秒的区别,不同的还是那个 filesort

mysql 8.018

mysql 5.7.23

通过这两个例子可以看到,在使用GROUP BY 这样的语句,在没有特殊优化的情况下,,MYSQL 8 不在使用 FILESORT 排序后,速度有了大幅度的提升,这说明在没有优化的情况下,MYSQL 8 对于排序和GROUP BY 这样的查询时有利的,并且随着提取的数据越多,则越快,这对 DEVELOPER 是一个好消息。

MYSQL 8

MySQL 5.7

上面的测试中,如果不带有Join salaries 的情况下,实际情况是MYSQL 5,7 还会稍微的好一些,MYSQL 8 会将not exists not in 里面的子查询先 Materialized 一下,相对来说,如果 not exists not in 里面的要排除的数据越少越好,条件越精准越好,这样MYSQL 8 的 antijoin 的功能就会能帮助查询更有效的排除数据。这里在所有都一样的情况下,MYSQL 8 比 MYSQL 5.7 快 2倍的时间。

当然也有一些差强人意的,下面的两个查询时间上基本相同,可能需要更多的将语句重新格式的时间,mysql 8 还慢了0.2秒

MYSQL 8

总体来说mysql 在hash join , 免filesort 的新功能对大部分查询语句是有帮助的,但实际上在测试中有些简单的语句,MYSQL 8 并不能占据什么便宜,或者说还可能会比MYSQL 5.7 慢了"一眨眼" 的功夫。

以上是"MYSQL 8和MYSQL 5.7在复杂查询中有哪些区别"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

查询 情况 复杂 数据 语句 帮助 内容 面的 例子 实际 时间 篇文章 两个 实际上 更多 还是 越好 学习 排序 测试 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发过后收钱没有维护 网络安全问题调查报告数据 安徽云服务器技术指导 计算机软件开发专业实习报告 怎样在dna数据库找人 瀚银科技工业互联网 数据库关系运算具体有哪些 数据库的基本存取 点了收缩数据库会有影响吗 hook数据库操作 桌面共享软件开发的独特优势 成都哪有网络安全培训班 静安区创新数据库报价行情 网络安全比赛准备的知识 服务器布丁更新 邮件服务器登录时间 银行网络安全软件是那些工厂 数据库项目开发流程 小型软件开发市场前景如何 软件开发摊销期限 数据库怎么删除更新 收录禽 外文的英文数据库 网络安全比赛准备的知识 数据库的检索途径 两方面 量化交易软件开发需求 网络安全资质办理流程 网络安全技术作用是什么 魔兽世界黑翼之巢服务器角色 广东hp服务器维修调试哪家好 银行网络安全软件是那些工厂
0