I was surprised to find yesterday when using MySQL 5.1.26-rc with a client I’m recommending 5.1 to, some information not seen in the EXPLAIN plan before while reviewing SQL Statements.
Using join buffer
+----+-------------+-------+--------+---------------+--------------+---------+------------------------+-------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+--------+---------------+--------------+---------+------------------------+-------+----------------------------------------------+ | 1 | SIMPLE | lr | ALL | NULL | NULL | NULL | NULL | 1084 | Using where; Using temporary; Using filesort | | 1 | SIMPLE | ca | ref | update_check | update_check | 4 | XXXXXXXXXXXXXXXXX | 4 | Using where; Using index | | 1 | SIMPLE | ce | ALL | NULL | NULL | NULL | NULL | 13319 | Using where; Using join buffer | | 1 | SIMPLE | co | eq_ref | PRIMARY | PRIMARY | 4 | XXXXXXXXXXXXXXXXX | 1 | Using where | +----+-------------+-------+--------+---------------+--------------+---------+------------------------+-------+----------------------------------------------+ 4 rows in set (0.00 sec) mysql> select version(); +-----------+ | version() | +-----------+ | 5.1.26-rc | +-----------+ 1 row in set (0.00 sec)
Sergey Petrunia of the MySQL Optimizer team writes about this in Use of join buffer is now visible in EXPLAIN.
Keith Murphy says
Thanks for the tip. That’s cool!! I haven’t had enough of a chance to work with 5.1 yet so its good to see stuff like this.