当前位置:网站首页 > 新闻动态

Oracle放大招:MySQL 即将支持 Hash Join

发布日期:2020-10-23 来源:CSDN 点击:

MySQL Hash Join的特性:

1、对于大数据量的表关联,HJ速度将明显比NL快很多

2、在内存中处理

3、必要情况下,会使用磁盘空间

4、用于内连接,可扩展到外连接、半连接和反连接

5、替换查询计划中的Block Nested Loop

6、可以通过HINT强制SQL走HJ或者NL 

640?wx_fmt=jpeg

 

MySQL是一个轻量级的数据库,使用起来非常简单,深受开发者喜爱。之所以一直不支持hash join,想必应该是背后的逻辑和数据支撑需要较高开发和维护成本,hash join算法其实并不复杂,但是要想hash join运行好,类似Oracle CBO一整套的东西是必不可少的,而CBO又依赖于统计信息,随之而来的就是Oracle中常见的谓词越界、数据分布不均、绑定变量窥探等等问题需要解决。 

我们从后面看到,MySQL 8.0.18还支持EXPLAIN ANALYZE,也是基于CBO的一些新功能 

640?wx_fmt=jpeg 

使用它可以估算成本、查看实际执行的统计数据,包括第一条记录的返回时间,全部记录返回时间,返回记录的数量以及循环数量,EXPLAIN还将可以使用新的输出格式,树状输出。 

随着企业数据量的增长,不再是几年前几十M大小随便跑的数据库了,期待MySQL在更多的场景都能发挥作用。

    8hand项目组 版权所有 Copyright © 2000 - 8handsoft. All Right Reserved.