gpt4 book ai didi

sql-server - 使用 CTE、 View 和子查询是否有任何性能差异?

转载 作者:行者123 更新时间:2023-12-04 01:51:35 25 4
gpt4 key购买 nike

SELECT 查询是另一个查询的中间结果,众所周知,它可以由 CTE、 View 或嵌套的 SELECT 查询 (SELECT * FROM (SELECT . ..)一个)。

现在我想构建一个查询,使用这三种方法中的一种作为中间结果。如果我的查询逻辑保持不变,使用这三种方法中的一种来构建我的查询时,性能有什么不同吗? (在我的构建过程中,没有使用任何一种方式的高级和特定主题,例如递归 CTE、索引 View 、USING ...MERGE ... 等,只是基本语法,但复杂度可能很高.)

最佳答案

CTE 只是语法,所以理论上它只是一个子查询。使用 CTE 和子查询时,您可能不会获得任何性能差异。

我认为使用 CTE 的最大好处是可读性。它使查看哪些查询被用作子查询变得容易得多,然后很容易将它们连接到查询中,就像 View 一样。

现在关于 CTE 和 View 希望您可以阅读本文并了解适合您的内容。

CTE vs View Performance in SQL Server

SQL - CTE vs VIEW

这还取决于您如何设计查询和脚本结构。

关于sql-server - 使用 CTE、 View 和子查询是否有任何性能差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52771879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com