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

Bry*_*eld 2 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 = ?
Run Code Online (Sandbox Code Playgroud)

Joh*_*nFx 5

我猜它们将是相同的,但你可以通过对它们运行EXPLAIN并查看实际计划来找到它们.

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