MySQL:“内部联接”性能:“在哪里”vs添加到“on”

时间:2011-02-22 17:11:53

标签: mysql query-optimization

这两者之间是否有性能差异?

select * from tableA INNER JOIN tableB ON tableA.type = ? AND tableB.ref = tableA.id
select * from tableA INNER JOIN tableB ON tableB.ref = tableA.id WHERE tableA.type = ?

1 个答案:

答案 0 :(得分:5)

我猜他们会完全相同,但你可以通过对两者运行EXPLAIN并查看实际计划来找到答案。

通常使用像SQL这样的声明性语言,您将无法找到如此简单的银弹优化。如果一个优于其他优点,那么优化器可能会识别它并运行使用最有效技术的查询计划。