子查询 VS 联接



这两种方法中编写查询的最佳方法是什么?1. 子查询的使用2. 联接的使用

编写查询时哪种方式更快更好?

谢谢。

沙希卡

在大多数情况下,

JOIN 比子查询更快,子查询更快的情况非常罕见。

在JOIN中,RDBMS可以创建一个更适合您的查询的执行计划,并且可以预测应该加载哪些数据进行处理并节省时间,这与子查询不同,子查询将运行所有查询并加载所有数据以进行处理。

子查询的好处是它们比JOIN更具可读性:这就是为什么大多数新SQL人更喜欢它们的原因;这是简单的方法;但是在性能方面,JOINS在大多数情况下更好,即使它们也不难阅读。

- 克罗纳斯,堆栈溢出

从做了很多

调整和修复遗留代码的人的角度来看,我更喜欢连接(如果可能的话,在 ON 子句上有条件)。它确实可以提高可读性,尤其是在定期扩展的过程中。

最新更新