|
|
1
1
子查询用于:
为什么使用子查询而不使用CTE?最重要的原因是cte是SQL语言后来的一个补充。除了递归CTE之外,它们并不是真正需要的。当子查询被多次引用时,它们真的很方便,但是有人可能会说视图也有同样的用途。
|
|
|
2
1
除非您的查询计划告诉您子查询性能比CTE好,否则我将使用
子查询和简单(非递归)CTE版本,它们可能非常相似。您必须使用探查器和实际执行计划来发现任何差异。
我会用
|
|
|
3
0
不考虑性能: 子查询(在FROM子句处)是好的,只要有少量的、小的和简单的子查询,因此转换成CTE实际上会使它更难阅读。 考虑到性能因素: CTE可能会变得越复杂。如果是这样的话,他们就变得太危险了,不值得信任一些柚木和变化,并可能导致更激进的性能方法,如将所有cte转换为temp(#)。 |