Sha*_*ica 17 sql sql-server indexing views indexed-view
有人可以用简单的英文向我解释一个视图的索引是如何工作的吗?我对表上的索引有一个相当简单的理解; 索引视图的工作方式与仅让底层表上的索引自然地完成它们的工作方式有何不同?
And*_*mar 10
假设您有一个将表限制为某些行的视图:
create view dbo.vw_HotProducts
as
select * from dbo.Products where Hot = 1
Run Code Online (Sandbox Code Playgroud)
现在,如果在此视图上创建索引,则索引仅包含热门产品.您可以将其与将结果存储在临时表中进行比较.这对于具有多个连接的复杂查询非常有用; 基本上他们的输出是缓存的.
索引视图的最大缺点是每次基础表数据更改时都会重新创建它们.这限制了索引视图对不经常更改的数据的使用,通常是在数据仓库或商业智能环境中.
请参阅http://msdn.microsoft.com/en-us/library/aa258260(SQL.80).aspx
在视图上创建唯一的聚簇索引可提高查询性能,因为视图以与存储聚簇索引的表相同的方式存储在数据库中.
视图从适当的视图转换为表格.视图定义用于更新此表.
Oracle将这些称为"物化视图".