【发布时间】:2016-04-14 21:35:16
【问题描述】:
对于它的优化过程,它是加入结果较大的关系还是结果较小的关系?
【问题讨论】:
标签: sql database performance oracle-sqldeveloper natural-join
对于它的优化过程,它是加入结果较大的关系还是结果较小的关系?
【问题讨论】:
标签: sql database performance oracle-sqldeveloper natural-join
首先。不要使用NATURAL JOIN。这是一个等待发生的错误。 NATURAL JOIN 使用恰好与 JOIN 键具有相同名称的字段。它甚至没有考虑声明的外键关系。
您现在可以编写查询,对基础表的微小更改可能会完全破坏查询(我承认,这也可能以其他方式发生)。然而,令人痛苦的是,逻辑在查询中是不可见的。所以请改用USING 或ON。
其次,大多数数据库都有优化阶段。此阶段确定处理的最佳顺序。因此,即使更改顺序也不会产生影响——因为数据库引擎会决定顺序(除非您用提示覆盖它)。
【讨论】: