自然连接3关系哪个顺序给出更好的性能?

时间:2016-04-14 21:35:17

标签: sql database performance oracle-sqldeveloper natural-join

对于它的优化过程,它是否与具有较大结果的关系或具有较小结果的关系一起加入?

1 个答案:

答案 0 :(得分:2)

评论太长了。

首先。不要使用NATURAL JOIN。这是一个等待发生的错误。 NATURAL JOIN使用碰巧具有JOIN密钥名称的字段。它甚至不会将声明的外键关系考虑在内。

你今天可以写一个查询,对基础表的小改动可以完全打破查询(我承认,这也可能以其他方式发生)。令人痛苦的是,在查询中逻辑不可见。因此,请改用USINGON

其次,大多数数据库都有优化阶段。此阶段确定最佳处理顺序。因此,即使更改顺序也没有效果 - 因为数据库引擎决定了订单(除非你用提示覆盖它)。