加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

SQL – CTE与VIEW

发布时间:2021-05-16 16:55:33 所属栏目:编程 来源:网络整理
导读:我的题目是CTE和SQL中的View有什么区别.我的意思是在哪种环境下我应该行使CTE以及哪种环境下行使View.我知道两者都是某种假造表,但我无法区分它们的用途. 我发明白相同的题目here,但它是关于机能的. 更新1: 譬喻:我有一个布满买卖营业的数据库(tbl_trade).我需

我的题目是CTE和SQL中的View有什么区别.我的意思是在哪种环境下我应该行使CTE以及哪种环境下行使View.我知道两者都是某种假造表,但我无法区分它们的用途.

我发明白相同的题目here,但它是关于机能的.

更新1:

譬喻:我有一个布满买卖营业的数据库(tbl_trade).我必要从3.5百万笔记录中选择当前时刻到当前时刻打开的买卖营业,然后哄骗数据(在假造表上行使差异的查询 – 这看起来像View).这里的题目是我必要一个3-4列的SUM,然后我必要SUM一些列并建设一个带有功效的假造列(看起来像CTE).

譬喻:tbl_trade有列:利润,奖金和用度.
我必要SUM(利润),SUM(奖金),SUM(用度)和新的列总数,它们将便是SUM(利润)SUM(奖金)SUM(用度).

PS.从头运行SUM的查询不是一个选项,由于我已经有了功效.

提前叩谢!

办理要领

视图可以编入索引,但CTE不能.以是这是一个重点.

CTE在树条理上的事变很是精彩.递归

另外,在处理赏罚伟大查询时请思量视图.视图是数据库上的物理工具(但不是物理存储数据),可用于多个查询,从而提供机动性和齐集式要领.另一方面,CTE是姑且的,将在行使时建设;这就是为什么它们被称为内联视图.

更新

按照您更新的题目,概念将是正确的选择.在CTE中处理赏罚350万行将在TempDb上发生特另外开销,这最终会低落SQL Server的机能.请记着,CTE是一次性视图,因此不存储统计信息,也无法建设索引.它就像一个子查询.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读