【发布时间】:2023-03-13 15:05:01
【问题描述】:
我想知道在 MySQL 查询中,“普通”内部连接是否会比列出所有表然后使用“and t1.t2id = t2.id”等连接它们的简单查询更高的执行性能。 .
【问题讨论】:
-
供像我一样遇到此问题的其他人参考...stackoverflow.com/questions/1018822/… 提供了大量关于差异和好处的详细信息。
标签: mysql performance join
我想知道在 MySQL 查询中,“普通”内部连接是否会比列出所有表然后使用“and t1.t2id = t2.id”等连接它们的简单查询更高的执行性能。 .
【问题讨论】:
标签: mysql performance join
执行计划和运行时是一样的。 一种称为 ANSI 样式(INNER JOIN、LEFT、RIGHT),另一种称为 Theta 样式。
这两个查询在各方面都等同于 mysql 服务器
SELECT * FROM A INNER JOIN B ON A.ID = B.ID;
SELECT * FROM A, B WHERE A.ID = B.ID;
您可以通过在两个查询前输入 EXPLAIN 来测试,返回的结果应该是相同的。
【讨论】: