Block-based Join Algorithms

You are viewing an old version of this article. View the current version here.

In the versions of MariaDB/MySQL before 5.3 only one block based join algorithm was implemented. It was Block Nested Loops (BNL) join algorithm. It could be used only for inner joins. MariaDB 5.3 enhances the implementation of BNL join and provides a variety of block based join algorithms that can be used for inner joins, outer joins and semi-joins. Any block based join algorithm employs a join buffer to accumulate records of the first join operand before it starts looking for matches in the second join operand. The following paragraphs present all of these block based algorithms: - Block Nested Loops (BNL) join - Block Nested Loops Hash (BNLH) join - Block Index join known as Batch Key Access (BKA) join - Block Index Hash join known as Batch Key Access Hash (BKAH) join

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.