小编典典

使用通用表表达式与创建视图性能

sql

我有使用WITH子句几个查询或公用表表达式,用UNION
ALL语句来描述与SQL服务器的树形结构通过表再次出现在这里。如果我创建相同的VIEW而不是将它包含在WITH子句中,并在每次运行查询时生成它,我会在性能上有所不同吗?因为在多个查询中使用视图,所以实际上创建视图通常被认为是一种好的做法吗?


阅读 223

收藏
2021-04-22

共1个答案

小编典典

您正在查看的是Common Table Expression,而不是View。如果要进行递归,则需要坚持使用CTE,而不要尝试将其滚动到视图中。

除非您在视图上创建聚簇索引,否则MS
SQL中的视图不会给您带来任何性能上的好处。从您的问题的声音来看,情况并非如此。您最好将CTE封装在存储过程中

2021-04-22