SELECT
查询是已知的另一个查询的中间结果,可以由CTE,视图或嵌套的SELECT查询(SELECT * FROM (SELECT ... ) a
)编写。
现在,我想使用三种方法之一作为中间结果来构建查询。我的查询逻辑是否应该保持不变,使用三种方法之一构建查询时,性能是否有差异? (在构建期间,没有使用任何一种高级且特定的主题,例如递归CTE,索引视图,USING ...MERGE ...
等,只是基本语法,但复杂性可能很高。)
答案 0 :(得分:1)
答案 1 :(得分:1)
CTE只是语法,因此从理论上讲它只是一个子查询。使用CTE和Subquery时可能不会获得任何性能差异。
我认为使用CTE的最大好处是可读性。这样一来,可以轻松查看将哪些查询用作子查询,然后很容易将它们联接到查询中,就像视图一样。
现在有关CTE和View Hope的内容,您可以阅读并了解适合您的内容。
CTE vs View Performance in SQL Server
这还取决于您如何设计查询和脚本结构。