Spec-Zone .ru
спецификации, руководства, описания, API

8.13.12. Block Nested-Loop and Batched Key Access Joins

8.13.12.1. Join Buffer Management for Block Nested-Loop and Batched Key AccessAlgorithms
8.13.12.2. Block Nested-Loop Algorithm for Outer Joins and Semi-Joins
8.13.12.3. Batched Key Access Joins

In MySQL 5.7, a Batched Key Access (BKA) Join algorithm is available that uses both index access to the joined table and a join buffer. The BKA algorithm supports inner join, outer join, and semi-join operations, including nested outer joins. Benefits of BKA include improved join performance due to more efficient table scanning. Also, the Block Nested-Loop (BNL) Join algorithm previously used only for inner joins is extended and can be employed for outer join and semi-join operations, including nested outer joins.

The following sections discuss the join buffer management that underlies the extension of the original BNL algorithm, the extended BNL algorithm, and the BKA algorithm. For information about semi-join strategies, see Section 8.13.16.1, "Optimizing Subqueries with Semi-Join Transformations"