【发布时间】:2017-09-18 05:58:53
【问题描述】:
我尝试了不同的搜索方式,但没有找到明确的答案。 This question 几乎回答了我的问题,但并不完全。
除了明显的可读性差异之外,在存储过程中使用视图还有什么好处:
SELECT
*
FROM
view1
WHERE
view1.fdate > @start AND
view1.fdate <= @end
...是否使用链表列表?
SELECT
*
FROM
table1
INNER JOIN
table2
ON table1.pid = table2.fid
INNER JOIN
table3
ON table1.pid = table3.fid
WHERE
table1.fdate > @start AND
table1.fdate <= @end
【问题讨论】:
-
好吧,有些视图可能会被索引,所以在某些情况下,索引视图可能有助于提高性能。除此之外,我怀疑是否有任何真正的区别。但是,我想 DBA 专家可能会提出更好的答案,所以我将其作为评论留下。
-
感谢您的意见,@ZoharPeled。我确实注意到了这一点,但是表级索引不是同样有用吗(如果表首先被正确索引)?
-
@Paul 索引视图可以创建表索引无法匹配的索引,例如。索引视图可以包含聚合。
标签: sql-server stored-procedures view sql-view