最佳答案
在这个优秀的所以问题中,讨论了CTE
和sub-queries
之间的区别。
我特别想问:
在什么情况下,下列每一项都更有效/更快?
传统上,我在开发stored procedures
时使用了大量的temp tables
——因为它们似乎比大量交织在一起的子查询更具可读性。
Non-recursive CTE
s封装数据集非常好,并且非常可读,但是否有特定的情况下,人们可以说他们总是表现得更好?还是说,为了找到最有效的解决方案,总是要在不同的选项中折腾?
编辑
最近有人告诉我,在效率方面,临时表是一个很好的首选,因为它们有一个相关的直方图,即统计数据。