我爱Aspx >> 数据库 >> 索引视图索引视图
在前面我们已经提到过有关视图的下述观点:由于视图返回的结果集与具有行列结构 的表有着相同的表格形式,并且我们可以在SQL 语句中像引用表那样引用视图,所以我 们常把视图称为虚表。标准视图的结果集并不以表的形式存储在数据库中,而是在执行引 用了视图的查询时,SQL Server 2000 才把相关的基本表中的数据合并成视图的逻辑结构。
上面的结论常让我们产生这样的焦虑:由于是在执行了引用了视图的查询时,SQL Server 2000 才把相关的基本表中的数据合并成视图的逻辑结构,那么当查询所引用的视 图包含大量的数据行或涉及到对大量数据行进行合计运算或连接操作,毋庸置疑,动态地 创建视图结果集将给系统带来沉重的负担,尤其是经常引用这种大容量视图。
解决这一令人头痛问题的方法就是为视图创建聚簇索引,只有这样才会显著地提高系统的性能。当在视图上创建了聚簇索引后,视图的结果集与有聚簇索引的表的数据集一样是存储在数据中的。
此外,在视图上创建索引还会带来这样的好处;优化器可以在那些在FROM 从句中不直接命名视图的查询中使用视图索引,而且对已存在的视图而言,由于不必重新编写查询代码,从而提高了查询从索引视图中检索数据的效率。
如果在视图上创建索引,那么视图中的数据会被立即存储在数据库中,对索引视图进行修改,那么这些修改会立即反映到基础表中。同理,对基础表所进行的数据修改也会反映到索引视图那里。索引的惟一性大大提高了SQL Server 查找那些被修改的数据行。
维护索引视图比维护基础表的索引更为复杂。所以,如果认为值得以因数据修改而增 加系统负担为代价来提高数据检索的速度,那么应该在视图上创建索引。在为视图创建索 引前,视图本身必须满足以下条件:
用户和安全性管理--SQL Server 的..[05-22]
管理SQL Server 登录[05-22]
数据库用户[05-22]
权限管理[05-22]
角色管理[05-22]
SQL Server 安全性管理的途径[05-22]
创建备份设备[05-22]
SQL 数据库备份[05-22]
备份向导[05-22]
SQL数据库的恢复[05-22]