SQL – CTE与VIEW
我的题目是CTE和SQL中的View有什么区别.我的意思是在哪种环境下我应该行使CTE以及哪种环境下行使View.我知道两者都是某种假造表,但我无法区分它们的用途. 我发明白相同的题目here,但它是关于机能的. 更新1: 譬喻:我有一个布满买卖营业的数据库(tbl_trade).我必要从3.5百万笔记录中选择当前时刻到当前时刻打开的买卖营业,然后哄骗数据(在假造表上行使差异的查询 – 这看起来像View).这里的题目是我必要一个3-4列的SUM,然后我必要SUM一些列并建设一个带有功效的假造列(看起来像CTE). 譬喻:tbl_trade有列:利润,奖金和用度. PS.从头运行SUM的查询不是一个选项,由于我已经有了功效. 提前叩谢! 办理要领视图可以编入索引,但CTE不能.以是这是一个重点.CTE在树条理上的事变很是精彩.递归 另外,在处理赏罚伟大查询时请思量视图.视图是数据库上的物理工具(但不是物理存储数据),可用于多个查询,从而提供机动性和齐集式要领.另一方面,CTE是姑且的,将在行使时建设;这就是为什么它们被称为内联视图. 更新 按照您更新的题目,概念将是正确的选择.在CTE中处理赏罚350万行将在TempDb上发生特另外开销,这最终会低落SQL Server的机能.请记着,CTE是一次性视图,因此不存储统计信息,也无法建设索引.它就像一个子查询. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |