As soon as I've finished writing this post about "Using join cache", it was apparent that "Using join cache" is poor wording. First, the corresponding server variable is called @@join_buffer_size, not join cache size, and second, there is really no cache involved.
We've had a discussion about how this should be called. Some sources use term Block nested-loops join but we've settled on "Using join buffer". Another change is that we've decided to move the note one line down to the table that "does the buffering". As a result, what was this
mysql> explain select * from t1, t2 where t1.col < 10 and t2.col < 'bar'; +----+-------------+-------+-------+-...-+-------------------------------+ | id | select_type | table | type | | Extra | …[Read more]