您的位置:首页 > 数据库

索引视图是否物理存储在数据库中以及使用索引视图的一些见解

2013-09-10 16:16 375 查看

索引视图是否物理存储在数据库中以及使用索引视图的一些见解

前言

这个话题我本来是写在文章里没有写在随笔里的,不过赶脚不写在随笔里其他人就看不到了,因为小弟对视图的认识不深

希望写在随笔里让大家也讨论一下这个话题

小弟在文章的结尾会把我们公司系统使用索引视图的情况告诉大家,希望大家也把你们在系统中如何应用索引视图的在评论中分享一下

让小弟也学习一下,因为小弟对于索引视图的认识也是比较浅的

视图的种类

先来看一下SQLSERVER中视图的种类

1、标准视图

2、索引视图:加了索引,在SQL2000之后提供的新功能。在视图上创建索引后,该视图的结果集随机被具体化,并保存在数据库的物理存储中。

对索引视图创建的第一个索引必须是唯一聚集索引。创建了唯一聚集索引后,才可以创建其他非聚集索引。如果删除视图,该视图的索引也被删除,

若删除聚集索引,视图的所有非聚集索引和自动创建的统计信息也被删除。删除视图的聚集索引将删除存储的结果集,并且索引视图会变为标准视图

3、分区视图:在一台或多台服务器间水平连接一组成员表中的分区数据,使数据看起来像来自一个表。依据连接数据服务器的不同,

他又分为本地分区视图和分布式分区视图。分布式分区视图用于实现数据库服务器联合

验证

为了区分标准视图和索引视图,我们分别建立一张基本表、一个索引视图、一个标准视图,两个视图都是基于那个基本表

使用下面SQL语句建立测试环境

--插入数据到基本表
INSERT INTO Users ( [UserName], [Age], [Gender], [CreateTime] )
VALUES  ( N'nihao', -- UserName - nvarchar(50)
30, -- Age - int
1, -- Gender - bit
'2013-08-29 03:40:36'  -- CreateTime - datetime
)


View Code



可以看到索引视图已经没有了



查询视图数据的时候还可以查询,证明索引视图已经退化为标准视图了

如有不对的地方,欢迎大家拍砖o(∩_∩)o
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐