视图可以被看成是SELECT 语句的结果集构成虚拟表。
除非是索引视图,否则视图的数据不会作为非重复对象存储在数据库中。数据库中存储的是产生此视图的select语句, 每次查询引用标准视图时,SQL Server 都会在内部将视图的定义替换为该查询

用途/为什么用视图
1. 数据筛选/视图使用户能够着重于他们所感兴趣的特定数据
2. 组合多服务器,多数据源(分布式查询,分区视图)
3. 提供向后兼容性 表的架构更改时为表创建向后兼容接口, 表的结构修改时,修改视图的定义,不改名称,应用程序可以不必修改,像以往一样读取数据. 修改数据时,通过将 INSTEAD OF 触发器添加到新视图以将视图中的 INSERT、DELETE 和 UPDATE 操作映射到基础表中,
4. 简化数据操作 可以将常用联接、投影、UNION 查询和 SELECT 查询定义为视图,以便使用户不必在每次对该数据执行附加操作时指定所有条件和条件限定。

类型 

索引视图: 被具体化了的视图,即它已经过计算并存储。可以为视图创建索引。对于标准视图而言,为每个引用视图的查询动态生成结果集的开销很大,如果在查询中频繁地引用这类视图,可通过对视图创建唯一聚集索引来提高性能。对视图创建唯一聚集索引后,结果集将存储在数据库中,就像带有聚集索引的表一样。但它们不太适于经常更新的基本数据集。对基表中的数据进行更改时,数据更改将反映在索引视图中存储的数据中。
分区视图(分布式分区视图): 连接来自一台或多台服务器中的成员表。这样,数据看上去如同来自于一个表。

Posted on 2009-08-19 19:40  Yongming Ye  阅读(157)  评论(0)    收藏  举报