DBA面试题

当前位置: 面试问题网 > DBA面试题 > 介绍一下SQL Server里面的索引视图

介绍一下SQL Server里面的索引视图

复杂报表的场景经常会在数据仓储应用程序中遇到,它在查询过程中会对数据库服务器产生大量请求。当这些查询访问视图时,因为数据库将建立视图结果集所需的逻辑合并到从基本表数据建立完整查询结果集所需的逻辑中,所以性能将会下降。这一操作的开销可能会比较大,尤其当视图涉及到复杂的大量行处理–如大量数据聚合或多表联结时。因为结果集并不永久存放在数据库(标准视图)中,以后对该视图的访问可能导致在每次执行查询时建立结果集的代价。
  
   SQL Server允许为视图创建独特的聚集索引,从而让访问此类视图的查询的性能得到极大地改善。在创建了这样一个索引后,视图将被执行,结果集将被存放在数据库中,存放的方式与带有聚集索引的表的存放方式相同。这就在数据库中有效地实现了查询结果。对于那些在FROM子句中不直接指定视图名的查询,SQL Server查询优化器将使用视图索引。现有查询将受益于从索引视图检索数据而无需重新编写程序原码的高效率。对于某些特定类型的视图,甚至可以获得指数级的性能改善。
  
   如果在视图上创建索引,那么视图中的数据会被立即存储在数据库中,对索引视图进行修改,那么这些修改会立即反映到基础表中。同理,对基础表所进行的数据修改也会反映到索引视图那里。索引的惟一性大大提高了SQL Server 查找那些被修改的数据行。
  
   维护索引视图比维护基础表的索引更为复杂。所以,如果认为值得以因数据修改而增加系统负担为代价来提高数据检索的速度,那么应该在视图上创建索引。

【介绍一下SQL Server里面的索引视图】相关文章

1. 介绍一下SQL Server里面的索引视图

2. SQL Server里面什么样的视图才能创建索引

3. 介绍一下SQL Server的全文索引

4. 介绍一下sql server的安全性

5. 写一个在SQL Server创建表的SQL语句

6. 当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗

7. 介绍一下SQL中union,intersect和minus

8. 介绍一下javax.servlet.Servlet接口及其主要方法

9. 如何反序的迭代一个序列?how do I iterate over a sequence in reverse order

10. 软件测试LoadRunner面试题:If web server, database and Network are all fine where could be the problem?

本文来源:https://www.mianshiwenti.com/a13330.html

点击展开全部

《介绍一下SQL Server里面的索引视图》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝介绍一下SQL Server里面的索引视图﹞相关内容

「介绍一下SQL Server里面的索引视图」相关专题

其它栏目

也许您还喜欢