表顺序在mysql中是否重要?

时间:2010-11-22 22:23:40

标签: mysql

或者优化器会为您解决这个问题吗?

例如,是

SELECT * FROM t1 JOIN t2 USING (id)

相同
SELECT * FROM t2 JOIN t1 USING (id)

2 个答案:

答案 0 :(得分:8)

对于内连接,顺序无关紧要。

对于外部联接,订单很重要。

如果您想强制执行某个订单,可以使用STRAIGHT_JOIN

答案 1 :(得分:1)

<强> explain

在您出现的情况下,查询计划程序应该始终能够找到它。但是,有时事情并不总是那么简单。

如果您真的想知道查询将如何执行,请在查询之前键入explain

explain SELECT * FROM t2 JOIN t1 USING (id);

如果对两个查询都得到相同的答案,那么优化器已经找到了加入表的“最佳”方式。