记录-SqlServer 重建索引

来源:互联网 发布:知乎汉书和后汉书 编辑:程序博客网 时间:2024/05/22 08:02

  接触索引还不是很深入,记录一下:

          因维护PDM有一段时间,PDM的使用包括建表、建索引,建约束,导出数据,这些都是基础;

          最近又要开始接触并熟练清楚重建索引的好处。

         众所周知,SqlServer 数据存储的最小单位是页

                查看表设计虽然建立了一些非聚集索引,但是重复性很大,效率不高;

             通过DBCC SHOWCONTIG   /* 判断是否需要重建索引

 
             DBCC SHOWCONTIG 正在扫描 table1 表...


                    已执行 TABLE 级别的扫描。
                  - 扫描页数................................: 20563
                  - 扫描区数..............................: 2994
                  - 区切换次数..............................: 7394
                  - 每个区的平均页数........................: 6.9
                  - 扫描密度 [最佳计数:实际计数].......: 34.77% [2571:7395]
                  - 逻辑扫描碎片 ..................: 36.29%  无序页的百分比。该百分比应该在0%到10%之间,高了则说明有外部碎片。
                  - 区扫描碎片 ..................: 91.02%  无序扩展盘区在扫描索引叶级页中所占的百分比。该百分比应该是0%,高了则说明有外部碎片。
                  - 每页的平均可用字节数........................: 375.3
                   - 平均页密度(满).....................: 95.36%       每页上的平均可用字节数的百分比的相反数。低的百分比说明有内部碎片。
                    */

           此执行结果提示明显:重建索引上场,下面摘了一段例子来说明DBCC SHOWCONTIG的使用方法。

    use database_name

  declare @table_id int

  set @table_id=object_id(table_id)

  dbcc showcontig(@table_id)

  重建指定数据库中表的一个或多个索引:dbccredbindex(@table_id)

 

 

 

 

0 0
原创粉丝点击