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


Posted in 面试题 onJuly 31, 2016
复杂报表的场景经常会在数据仓储应用程序中遇到,它在查询过程中会对数据库服务器产生大量请求。当这些查询访问视图时,因为数据库将建立视图结果集所需的逻辑合并到从基本表数据建立完整查询结果集所需的逻辑中,所以性能将会下降。这一操作的开销可能会比较大,尤其当视图涉及到复杂的大量行处理–如大量数据聚合或多表联结时。因为结果集并不永久存放在数据库(标准视图)中,以后对该视图的访问可能导致在每次执行查询时建立结果集的代价。

SQL Server允许为视图创建独特的聚集索引,从而让访问此类视图的查询的性能得到极大地改善。在创建了这样一个索引后,视图将被执行,结果集将被存放在数据库中,存放的方式与带有聚集索引的表的存放方式相同。这就在数据库中有效地实现了查询结果。对于那些在FROM子句中不直接指定视图名的查询,SQL Server查询优化器将使用视图索引。现有查询将受益于从索引视图检索数据而无需重新编写程序原码的高效率。对于某些特定类型的视图,甚至可以获得指数级的性能改善。

如果在视图上创建索引,那么视图中的数据会被立即存储在数据库中,对索引视图进行修改,那么这些修改会立即反映到基础表中。同理,对基础表所进行的数据修改也会反映到索引视图那里。索引的惟一性大大提高了SQL Server 查找那些被修改的数据行。

维护索引视图比维护基础表的索引更为复杂。所以,如果认为值得以因数据修改而增加系统负担为代价来提高数据检索的速度,那么应该在视图上创建索引。

Tags in this post...

面试题 相关文章推荐
你所知道的集合类都有哪些?主要方法?
Dec 31 面试题
strstr()的简单实现
Sep 26 面试题
Kingsoft金山公司C/C++笔试题
May 10 面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
Apr 28 面试题
DataReader和DataSet的异同
Dec 31 面试题
C#中有没有静态构造函数,如果有是做什么用的?
Jun 04 面试题
Linux文件操作命令都有哪些
Jul 23 面试题
sort命令的作用和用法
Nov 04 面试题
如何清空Session
Feb 23 面试题
Java中各种基本数据类型的默认值都是什么
Dec 22 面试题
解释下列WebService名词:WSDL、SOAP、UDDI
Jun 22 面试题
请介绍一下WSDL的文档结构
Mar 17 面试题
一组SQL面试题
Feb 15 #面试题
SQL Server里面什么样的视图才能创建索引
Apr 17 #面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
Apr 28 #面试题
介绍一下sql server的安全性
Aug 10 #面试题
汇智创新科技发展有限公司
Dec 06 #面试题
如何提高SQL Server的安全性
Jul 25 #面试题
北京华建集团SQL面试题
Jun 03 #面试题
You might like
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
PHP中文件上传的一个问题
2010/09/04 PHP
解决yii2左侧菜单子级无法高亮问题的方法
2016/05/08 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
jquery CSS选择器笔记
2010/03/29 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
vue配置接口域名方法总结
2019/05/12 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
Python的另外几种语言实现
2015/01/29 Python
Python中join和split用法实例
2015/04/14 Python
pandas ix &iloc &loc的区别
2019/01/10 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
2019/09/18 Python
Python3 合并二叉树的实现
2019/09/30 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
VICHY薇姿俄罗斯官方网上商店:法国护肤品牌,火山温泉水
2019/11/22 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
酒店应聘自荐信
2013/11/09 职场文书
员工考核管理制度
2014/02/02 职场文书
少先队活动总结
2014/08/29 职场文书
广告业务员岗位职责
2015/02/13 职场文书
新生儿未入户证明
2015/06/23 职场文书
《小小的船》教学反思
2016/02/18 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
nginx部署多前端项目的几种方法
2021/05/25 Servers