从这两种方法中编写查询的最佳方法是什么? 1.使用子查询 2.使用连接
编写查询时哪种方式更快更好?
谢谢。
Shashika
答案 0 :(得分:2)
在大多数情况下,JOIN比子查询更快,并且子查询的速度非常快。
在JOIN中,RDBMS可以创建一个更适合您的查询的执行计划,并且可以预测应该加载哪些数据以进行处理并节省时间,这与子查询不同,后者将运行所有查询并将所有数据加载到做处理。
子查询的好处是它们比JOIN更具可读性:这就是大多数新SQL用户更喜欢它们的原因;这是简单的方法;但是在性能方面,JOINS在大多数情况下都更好,即使它们也不难阅读。
- Kronas,Stackoverflow
答案 1 :(得分:1)
从一个做过大量调优和修复遗留代码的人的角度出发,我更喜欢连接(如果可能的话,还有ON子句的条件)。它确实可以提高可读性,特别是对于定期扩展的程序。