MySQL:内部联接vs Where

Vic*_*tor 12 mysql sql performance inner-join

是否存在性能差异(在mysql中)

Select * from Table1 T1 
Inner Join Table2 T2 On T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)

Select * from Table1 T1, Table2 T2 
Where T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)

Pat*_*ick 13

从问题44917中接受的答案中提取:

性能方面,它们完全相同(至少在SQL Server中),但要注意它们正在弃用隐式外连接语法.

在MySql中,结果是一样的.

我个人坚持明确加入表格......这是"社会可接受"的做法.


Ewa*_*ing 13

他们是一样的.通过运行EXPLAIN命令可以看到:

mysql> explain Select * from Table1 T1 
    -> Inner Join Table2 T2 On T1.ID = T2.ID;
+----+-------------+-------+-------+---------------+---------+---------+------+------+---------------------------------------------+
| id | select_type | table | type  | possible_keys | key     | key_len | ref  | rows | Extra                                       |
+----+-------------+-------+-------+---------------+---------+---------+------+------+---------------------------------------------+
|  1 | SIMPLE      | T1    | index | PRIMARY       | PRIMARY | 4       | NULL |    4 | Using index                                 |
|  1 | SIMPLE      | T2    | index | PRIMARY       | PRIMARY | 4       | NULL |    4 | Using where; Using index; Using join buffer |
+----+-------------+-------+-------+---------------+---------+---------+------+------+---------------------------------------------+
2 rows in set (0.00 sec)

mysql> explain Select * from Table1 T1, Table2 T2 
    -> Where T1.ID = T2.ID;
+----+-------------+-------+-------+---------------+---------+---------+------+------+---------------------------------------------+
| id | select_type | table | type  | possible_keys | key     | key_len | ref  | rows | Extra                                       |
+----+-------------+-------+-------+---------------+---------+---------+------+------+---------------------------------------------+
|  1 | SIMPLE      | T1    | index | PRIMARY       | PRIMARY | 4       | NULL |    4 | Using index                                 |
|  1 | SIMPLE      | T2    | index | PRIMARY       | PRIMARY | 4       | NULL |    4 | Using where; Using index; Using join buffer |
+----+-------------+-------+-------+---------------+---------+---------+------+------+---------------------------------------------+
2 rows in set (0.00 sec)