SQL Server 数据库的整理优化的基本过程(三)

 2023-09-09 阅读 17 评论 0

摘要:SQL Server 数据库的整理优化的基本过程(三) 高建刚 第二节 索引 第三节 索引的维护 数据库在进行数据的insert、update、delete时,引擎都会自动维护索引。随着时间的积累,这些操作会造成数据的不连续,即产生了索引的碎片,随着

SQL Server 数据库的整理优化的基本过程(三)

高建刚

 

第二节 索引

 

第三节 索引的维护

 

    数据库在进行数据的insert、update、delete时,引擎都会自动维护索引。随着时间的积累,这些操作会造成数据的不连续,即产生了索引的碎片,随着碎片的产生,从而降低了查询的性能,反映到前台程序中,就是用户体验效果差,整个系统运行速度慢。当这种情况出现时,我们就需要利用创建索引或重新组织索引来对索引进行维护,至于具体采用什么方式,需要结合索引产生碎片的严重程度。

    在此,需要提出的是,在SQL Server2005的DDL对维护索引增加了更丰富的语句,而以前的版本往往需要DBCC来处理,不仅仅理解起来比较费劲,更多的是不能从原理上来分析具体的原因。

    首先,让我们来看看如何查找数据不连续造成的索引碎片。

    数据的不连续主要分两种,一种是内部数据存储页的不连续,许多的空间没有记录数据;另一种是外部的硬盘存放数据的分页与范围不一致,即索引或数据表散落在多个范围中,或存放索引或数据表的分页不是连续的放在一起的,当然也有的情况是数据顺序与实例在硬盘存放的分页顺序不同,导致的硬盘读取没有效率,读出后数据还需要重新组织,重新整理。

    那么通过什么方式来查看索引的不连续程度哪?微软为我们提供了DBCC SHOWCOMFIG指示符,通过帮助我们发现其用法其实不是很复杂,而结果的表述也很容易理解。



DBCC SHOWCONTIG 
[ ( { table_name | table_id | view_name | view_id } [ ,index_name | index_id ] 
) ] [ WITH { [ , [ ALL_INDEXES ] ] [ , [ TABLERESULTS ] ] [ , [ FAST ] ][ , [ ALL_LEVELS ] ] [ NO_INFOMSGS ]}]
下班用例子来查看此指示符所呈现的数据:

转载于:https://www.cnblogs.com/Gaojier/archive/2010/10/03/2783525.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/23334.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息