MySQL 新特征 MySQL 哈希连接实现介绍
关键字
哈希连接, 火山模型,hash join,cost base optimizer(CBO),基于代价的优
化器,nest-loop 连接, build table, probe table,block nested loop
(BNL)
摘要
本文将介绍一下 MySQL 的哈希连接设计与实现,包括 MySQL 在 8.0.18 版本中
哈希连接实现的情况与限制。 同时作为内核月报,我们也会带领大家去看一看
hash 在 MySQL 中实现的一下比较详细的细节。
0. 哈希连接如何实现原理介绍
从 MySQL 8.0.18 开始,MySQL 的执行引擎开始支持哈希连接这种多表连接的执
行方式,哈希连接的支持对于 MySQL 执行引擎执行提供了更多的查询执行能力配
套,因此后续在 MySQL 重构 CBO 优化器的时候,对于查询计划的选择提供了一
个更多的一种可能性,同时 nest-loop 连接和哈希连接在不同场景下会有不一样
的表现(如哈希连接特别适合在连接字段上没有索引的场景)。 后续我们可以对
于 MySQL 的表现有一个比较大的期待。
好了,在开始写这篇月报前,网上简单搜索了一下关于 MySQL Hash Join 的文
章,还真是很多介绍的文章。(包括官方和非官方相关的查询结
评论