一文看懂mysql两种join连接算法--NLJ和BNL

概述相信许多开发/DBA在使用MySQL的过程中,对于MySQL处理多表关联的方式或者说性能一直不太满意 。对于开发提交的含有join的查询,一般比较抗拒,从而建议将join拆分,避免join可能带来的性能问题,同时也增加了程序和DB的网络交互 。
【一文看懂mysql两种join连接算法--NLJ和BNL】5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop) 。如果关联表的数据量很大,则join关联的执行时间会非常长 。在5.5以后的版本中,MySQL通过引入BNL算法来优化嵌套执行,今天主要介绍两种join算法 Nested-Loop Join (NLJ) 和Block Nested-Loop Join(BNL) .


    推荐阅读