SQL Server 索引优化(下)

日期: 2009-08-23 作者:Don Jones翻译:曾少宁 来源:TechTarget中国 英文

维护索引   你可以检查索引的碎裂的程度,而且Microsoft已经详细阐述了如何进行检查。有3%到5%碎片的索引必须重新组织,或者换言之,整理碎片。   对于超过30%的碎片的情况,就必须进行重建——只有一种方法,即删除现有的索引并重新建立新的索引。重建比重组需要更多的时间并且可能影响某些应用的性能。

  对于这2个方法,你可以使用填充因数关键选项来确定新的索引中每一页的填充度。   比如,一个50%的填充因数将留空每一页的一半空间。在这种情形下,虽然索引将在磁盘中占用更多的空间,但是它也将为插入和修改预留更多的空间。因此,索引将在更长的时间里有效。

  记住,越大的索引将需要SQL Ser……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

维护索引

  你可以检查索引的碎裂的程度,而且Microsoft已经详细阐述了如何进行检查。有3%到5%碎片的索引必须重新组织,或者换言之,整理碎片。

  对于超过30%的碎片的情况,就必须进行重建——只有一种方法,即删除现有的索引并重新建立新的索引。重建比重组需要更多的时间并且可能影响某些应用的性能。

  对于这2个方法,你可以使用填充因数关键选项来确定新的索引中每一页的填充度。

  比如,一个50%的填充因数将留空每一页的一半空间。在这种情形下,虽然索引将在磁盘中占用更多的空间,但是它也将为插入和修改预留更多的空间。因此,索引将在更长的时间里有效。

  记住,越大的索引将需要SQL Server花费越多的时间来处理。这是因为服务器必须读取磁盘上所有的页,即使它们大多数都是空的。因此,指定1%的填充因数在很多数据库中会降低效率。总体而言,写入频繁的数据库应该设置一个较低的填充因数,而主要支持读取流量的数据库则可以设置一个较高的填充因数。

  最后一个需要记住的重点是:如果你重建聚簇索引,那么你就是物理地重新安排数据记录行。这意味着每个非聚簇索引也将必须修改,因为在这些索引中所使用的记录行指针将发生改变。这是一个很耗时的操作,同时应该只能作为调度维护窗口的一部分来完成。

  你也可以在聚簇索引重建过程中禁用非聚簇索引。这会阻止SQL Server总是尝试更新动作,同时加速重建操作。

作者

Don Jones
Don Jones

投稿作者

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐