首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT教育
Google
您现在的位置: 中国IT实验室 >> Windows >> 服务器技术 >> SQL Server >> 正文

关于SQL Server中索引使用及维护简介

五、索引的维护

 上面讲到,某些不合适的索引影响到SQLServer的性能,随着应用系统的运行,数据不断地发生变化,当数据变化达到某一个程度时将会影响到索引的使用。这时需要用户自己来维护索引。索引的维护包括:

1、重建索引

 随着数据行的插入、删除和数据页的分裂,有些索引页可能只包含几页数据,另外应用在执行大块I/O的时候,重建非聚簇索引可以降低分片,维护大块I/O的效率。重建索引实际上是重新组织B-树空间。在下面情况下需要重建索引:

(1)、数据和使用模式大幅度变化。

(2)、排序的顺序发生改变。

(3)、要进行大量插入操作或已经完成。

(4)、使用大块I/O的查询的磁盘读次数比预料的要多。

(5)、由于大量数据修改,使得数据页和索引页没有充分使用而导致空间的使用超出估算。

(6)、dbcc检查出索引有问题。

当重建聚簇索引时,这张表的所有非聚簇索引将被重建。

2、索引统计信息的更新

 当在一个包含数据的表上创建索引的时候,SQLServer会创建分布数据页来存放有关索引的两种统计信息:分布表和密度表。优化器利用这个页来判断该索引对某个特定查询是否有用。但这个统计信息并不动态地重新计算。这意味着,当表的数据改变之后,统计信息有可能是过时的,从而影响优化器追求最有工作的目标。因此,在下面情况下应该运行update statistics命令:

(1)、数据行的插入和删除修改了数据的分布。

(2)、对用truncate table删除数据的表上增加数据行。

(3)、修改索引列的值。

六、结束语

 实践表明,不恰当的索引不但于事无补,反而会降低系统的执行性能。因为大量的索引在插入、修改和删除操作时比没有索引花费更多的系统时间。例如下面情况下建立的索引是不恰当的:

1、在查询中很少或从不引用的列不会受益于索引,因为索引很少或从来不必搜索基于这些列的行。

2、只有两个或三个值的列,如男性和女性(是或否),从不会从索引中得到好处。

 另外,鉴于索引加快了查询速度,但减慢了数据更新速度的特点。可通过在一个段上建表,而在另一个段上建其非聚簇索引,而这两段分别在单独的物理设备上来改善操作性能。

上一页  [1] [2] [3] 

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·带你领略windows系统“另类”安装
 ·“调教”磁盘,让Vista更在行
 ·windows系统性能优化专题
 ·windows系统安全——系统进程与病毒
 ·Windows 平台搭建VPN攻略…
 ·Windiws 系统备份与还原…
 ·专题:Windows Vista系统新特性…
 ·Windows server 2008专题报道…
 ·关注未来 关注Windows Vista成长…
 ·明明白白 学会Windows权限设置…
 今日更新
 认证培训
 频道精选
 Windows频道导航