首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CTE使用的列数是否会影响查询的性能?

CTE使用的列数是否会影响查询的性能?
EN

Stack Overflow用户
提问于 2016-05-21 01:22:51
回答 2查看 318关注 0票数 2

在CTE查询中使用更多列会影响性能吗?我目前正在尝试使用with语句执行查询,它认为如果我使用更多的列,加载数据需要更多的时间。我说的对吗?

EN

回答 2

Stack Overflow用户

发布于 2016-05-21 01:32:30

CTE中定义的列数应该不会影响查询的实际性能(它可能会影响编译时间,而编译时间通常很小)。

为什么?因为SQL Server将CTE的代码“嵌入”到查询本身中,然后一起优化所有代码。应删除未使用的列。

这可能是过于概括了。在某些情况下,SQL Server可能不会消除列的工作--例如聚合查询或某些子查询中的额外聚合函数。但是,一般来说,重要的是如何使用CTE,而不是在其中定义了多少列。

票数 3
EN

Stack Overflow用户

发布于 2016-05-21 15:44:48

你可以认为CTE是一个视图,但是它不会物化到Disk.So。一个视图在运行时扩展了它的定义,CTE也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37352431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档