索引碎片分析和解决

索引碎片分析和解决

ID:11851151

大小:50.21 KB

页数:6页

时间:2018-07-14

索引碎片分析和解决_第1页
索引碎片分析和解决_第2页
索引碎片分析和解决_第3页
索引碎片分析和解决_第4页
索引碎片分析和解决_第5页
资源描述:

《索引碎片分析和解决》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SQLServer索引碎片和解决方法2009年06月09日星期二07:56A.M.毫无疑问,给表添加索引是有好处的,你要做的大部分工作就是维护索引,在数据更改期间索引可能产生碎片,所以一些维护是必要的。碎片可能是你查询产生性能问题的来源。那么到底什么是索引碎片呢?索引碎片实际上有2种形式:外部碎片和内部碎片。不管哪种碎片基本上都会影响索引内页的使用。这也许是因为页的逻辑顺序错误(即外部碎片)或每页存储的数据量少于数据页的容量(内部错误)。无论索引产生了哪种类型的碎片,你都会因为它而面临查询的性能问题。外部碎片当索引页不在逻辑顺序上时就会产生外部

2、碎片。索引创建时,索引键按照逻辑顺序放在一组索引页上。当新数据插入索引时,新的键可能放在存在的键之间。为了让新的键按照正确的顺序插入,可能会创建新的索引页来存储需要移动的那些存在的键。这些新的索引页通常物理上不会和那些被移动的键原来所在的页相邻。创建新页的过程会引起索引页偏离逻辑顺序。下面的例子将比实际的言论更加清晰的解释这个概念。假定在任何另外的数据插入你的表之前存在索引上的结构如下(注:下面图片里应该是7和8,原文里是6和8):INSERT语句往索引里添加新的数据,假定添加的是5。INSERT将引起新页创建,为了给5在原来的页上留出空间,7

3、和8被移到了新页上。这个创建将引起索引页偏离逻辑顺序。在有特定搜索或者返回无序结果集的查询的情况下,偏离顺序的索引页不会引起问题。对于返回有序结果集的查询,搜索那些无序的索引页需要进行额外的处理。有序结果集的例子如查询返回4到10之间的记录。为了返回7和8,查询不得不进行额外的页切换。虽然一个额外的页切换在一个长时间运行里是无关紧要的,然而想象一下一个有好几百页偏离顺序的非常大的表的情形。内部碎片当索引页没有用到最大量时就产生了内部碎片。虽然在一个有频繁数据插入的应用程序里这也许有帮助,然而设置一个fillfactor(填充因子)会在索引页上留

4、下空间,服务器内部碎片会导致索引尺寸增加,从而在返回需要的数据时要执行额外的读操作。这些额外的读操作会降低查询的性能。怎样确定索引是否有碎片?SQLServer提供了一个数据库命令――DBCCSHOWCONTIG――来确定一个指定的表或索引是否有碎片。DBCCSHOWCONTIG数据库平台命令,用来显示指定的表的数据和索引的碎片信息。DBCCSHOWCONTIG权限默认授予sysadmin固定服务器角色或db_owner和db_ddladmin固定数据库角色的成员以及表的所有者且不可转让。语法(SQLServer2000)DBCCSHOWCON

5、TIG[({table_name

6、table_id

7、view_name

8、view_id}[,index_name

9、index_id])][WITH{ALL_INDEXES

10、FAST[,ALL_INDEXES]

11、TABLERESULTS[,{ALL_INDEXES}][,{FAST

12、ALL_LEVELS}]}]语法(SQLServer7.0)DBCCSHOWCONTIG[(table_id[,index_id])]示例:显示数据库里所有索引的碎片信息SETNOCOUNTONUSEpubsDBCCSHOWCONTIGWITHALL_INDEXESG

13、O显示指定表的所有索引的碎片信息SETNOCOUNTONUSEpubsDBCCSHOWCONTIG(authors)WITHALL_INDEXESGO显示指定索引的碎片信息SETNOCOUNTONUSEpubsDBCCSHOWCONTIG(authors,aunmind)GO结果集DBCCSHOWCONTIG将返回扫描页数、扫描扩展盘区数、遍历索引或表的页时,DBCC语句从一个扩展盘区移动到其它扩展盘区的次数、每个扩展盘区的页数、扫描密度(最佳值是指在一切都连续地链接的情况下,扩展盘区更改的理想数目)。DBCCSHOWCONTIG正在扫描'au

14、thors'表...表:'authors'(1977058079);索引ID:1,数据库ID:5已执行TABLE级别的扫描。-扫描页数.....................................:1-扫描扩展盘区数...............................:1-扩展盘区开关数...............................:0-每个扩展盘区上的平均页数.....................:1.0-扫描密度[最佳值:实际值]....................:100.00%[1:1]-逻

15、辑扫描碎片.................................:0.00%-扩展盘区扫描碎片......................

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。