澳门新萄京SQL数据库碎片检查DBCC SHOWCONTIG含义

-- 创建聚集索引
create table [dbo].[pub_stocktest] add  constraint [pk_pub_stocktest] primary key clustered 
(
[sid] asc
)with (pad_index = off, statistics_norecompute = off, sort_in_tempdb = off, ignore_dup_key = off, 
online = off, allow_row_locks = on, allow_page_locks = on) on [primary]

-- 创建非聚集索引
 create nonclustered index [ix_model] on [dbo].[pub_stocktest]
(
    [model] asc
)
include (     [name]) with (pad_index = off, statistics_norecompute = off, sort_in_tempdb = off, drop_existing = off, 
online = off, allow_row_locks = on, allow_page_locks = on, FILLFACTOR = 85) on [primary]

澳门新萄京 1在SQLServer数据库,通过DBCC
ShowContig或DBCC
ShowContig(表名)检查索引碎片景况,引导大家对其进行定期重新组建整理。

DBCC SHOWCONTIG是突显内定的表的数目和目录的零碎新闻。

DBCC
SHOWCONTIG是展现钦赐的表的多少和目录的零碎消息。

1.1 Filefactor参数

运维结果如下:

  如上航海用体育场所所示。

Usage:

  使用Filefactor能够对索引的种种叶子分页存款和储蓄保留部分空间。对于聚焦索引,叶等级包罗了数据,使用Filefactor来调控表的保留空间,通过预先留下的空中,幸免了新的数码按顺序插入时,需腾出空位而进行分页分隔。
  Filefactor设置生效注意,唯有在开创索引时才会依靠已经存在的数码调节留下的长台湾空中大学小,如里必要能够alter
index重新建立索引天公地道置原本钦命的Filefactor值。
  在创设索引时,要是不钦定Filefactor,就选拔暗中认可值0
也便是填充满,可透过sp_configure
来布局全局实例。Filefactor也只就用于叶子级分页上。纵然要在中间层调控索引分页,能够因此点名pad_index选用来完毕.该选拔会布告到目录上具备档案的次序使用同样的Filefactor。Pad_index也唯有索引在新建或重新建立时有用。

DBCC SHOWCONTIG 正在扫描 'tbModule' 表...
表: 'tbModule'(1845581613);索引 ID: 0,数据库 ID: 9
已执行 TABLE 级别的扫描。
- 扫描页数.....................................: 51
- 扫描扩展盘区数...............................: 9
- 扩展盘区开关数...............................: 8
- 每个扩展盘区上的平均页数.....................: 5.7
- 扫描密度[最佳值:实际值]....................: 77.78%[7:9]
- 扩展盘区扫描碎片.............................: 77.78%
- 每页上的平均可用字节数.......................: 351.1
- 平均页密度(完整)...........................: 95.66%

  解释如下:

dbcc SHOWCONTIG

1.2 Drop_existing 参数

连带解释如下:

  Page
Scanned-扫描页数:若是你精晓行的近乎尺寸和表或索引里的行数,那么您能够估算出索引里的页数。看看扫描页数,假诺显明比你测度的页数要高,表明存在里面碎片。

[ (

  删除或重新营造三个点名的目录作为单个事务来拍卖。该项在重新建立聚集索引时极度有用,当删除二个聚焦索引时,sqlserver会重新建立种种非聚焦索引以便将书签从聚焦索引键改为CRUISERID。如若再新建恐怕重新建构集中索引,Sql
server会再贰遍重新构建总体的非集中索引,借使再新建或重新创设的聚焦索引键值同样,能够设置Drop_existing=ON。

Page
Scanned-扫描页数:要是您理解行的临近尺寸和表或索引里的行数,那么你能够猜想出索引里的页数。看看扫描页数,借使显然比你估摸的页数要高,表明存在里面碎片。
Extents
Scanned-扫描扩充盘区数:用扫描页数除以8,四舍五入到下叁个最高值。该值应该和DBCC
SHOWCONTIG再次来到的围观扩张盘区数一致。假若DBCC
SHOWCONTIG再次来到的数高,表明存在外界碎片。碎片的惨恻程度依赖Yu Gang才展现的值比预计值高多少。
Extent
Switches-扩大盘区按键数:该数应该等于扫描扩大盘区数减1。高了则印证有表面碎片。
Avg. Pages per
Extent-每一种增添盘区上的平分页数:该数是扫描页数除以扫描扩展盘区数,日常是8。小于8表明有表面碎片。
Scan Density [Best Count:Actual
Count]-扫描密度[最好值:实际值]:DBCC
SHOWCONTIG重临最可行的二个百分比。那是扩充盘区的最好值和实际值的比率。该比例应该尽量临近100%。低了则表明有外部碎片。

  Extents
Scanned-扫描扩充盘区数:用扫描页数除以8,四舍五入到下多少个最高值。该值应该和DBCC
SHOWCONTIG再次来到的扫描扩张盘区数一模二样。若是DBCC
SHOWCONTIG重临的数高,表达存在外部碎片。碎片的惨痛程度正视于刚先生才展现的值比揣摸值高多少。

    { ‘table_name’ | table_id |
‘view_name’ | view_id }

1.3 IGNORE_DUP_KEY

Logical Scan
Fragmentation-逻辑扫描碎片:冬季页的比例。该比例应该在0%到10%里边,高了则表明有外部碎片。
Extent Scan
Fragmentation-扩张盘区扫描碎片:冬日扩张盘区在扫描索引叶级页中所占的比例。该比例应该是0%,高了则证实有外界碎片。
Avg. Bytes Free per
Page-每页上的平分可用字节数:所扫描的页上的平均可用字节数。越高表达有内部碎片,然而在你用那些数字垄断(monopoly)是还是不是有中间碎片在此之前,应该考虑fill
factor(填充因子)。
Avg. Page Density
(full)-平均页密度(完整):每页上的平均可用字节数的比例的相反数。低的百分比表达有内部碎片。

  Extent
Switches-扩张盘区开关数:该数应该相等扫描扩张盘区数减1。高了则注脚有外界碎片。

    [ , { ‘index_name’ | index_id }
]

  是指假诺八个update只怕insert语句影响多行数据,但有一行键被察觉爆发重值时,整个讲话就能够回滚,IGNORE_DUP_KEY=on时发生重复键值时不会孳生上上下下讲话的回滚,重复的行会被放任其余的行会被插入或更新。


  Avg. Pages per
Extent-每一种扩张盘区上的平分页数:该数是扫描页数除以扫描扩充盘区数,日常是8。小于8表达有表面碎片。

) ]

1.4 Statistics_norecompute

澳门新萄京 2经过对扫描密度(过低),扫描碎片(过高)的结果深入分析,判断是还是不是要求索引重新建构。

  Scan Density [Best Count:Actual
Count]-扫描密度[最佳值:实际值]:DBCC
SHOWCONTIG重临最可行的叁个百分比。那是扩充盘区的最棒值和实际值的比率。该比例应该尽可能邻近百分百。低了则表达有表面碎片。

    [ WITH

  选项决定了是不是须要活动更新索引上的计算,各个索引维护着该索引第一位字段的数值遍布的柱状图,在查询实践安排时,查询优化器利用那么些总结新闻来剖断一个一定索引的立见成效。当数码到达三个阀值时,总结值会变。Statistics_norecompute选项允许一个涉嫌的目录在数额修改时不自动更新总括值。该选拔覆盖了auto_update_statistics的on值。

管理格局:一是应用DBCC INDEXDEFRAG整理索引碎片,二是利用DBCC
DBREINDEX重新创设索引。二者各有利弊。

  Logical Scan
Fragmentation-逻辑扫描碎片:冬天页的比重。该比例应该在0%到10%以内,高了则表明有外界碎片。

        {

1.5 ONLINE   

调用微软的原话如下:
DBCC INDEXDEFRAG
命令是联合操作,所以索引唯有在该命令正在周转时才可用,并且能够在不放任已成功工作的动静下脚刹踏板该操作。这种艺术的缺点是在再度协会数量方面向来不聚焦索引的除此之外/重新创建操作可行。
再也成立集中索引将对数码实行重复组织,其结果是使数据页填满。填满程度足以选用FILLFACTO本田UR-V选项进行陈设。这种情势的败笔是索引在除去/重新创立周期内为脱机状态,并且操作属原子级。若是中断索引创造,则不会另行成立该索引。也正是说,要想博得好的服从,仍然得用重新建立索引,所以决定重新建立索引。
DBCC DBREINDEX(表,索引名,填充因子)
先是个参数,能够是表名,也足以是表ID。
第4个参数,假如是”,表示影响该表的兼具索引。
其多个参数,填充因子,即索引页的数量填充程度。要是是100,表示每叁个索引页都全体填满,此时select成效最高,但然后要插入索引时,就得移动前面包车型客车持有页,成效十分低。如若是0,表示使用从前的填写因子值。

  Extent Scan
Fragmentation-扩张盘区扫描碎片:冬天扩充盘区在扫描索引叶级页中所占的比例。该比例应该是0%,高了则印证有表面碎片。

            [ ALL_INDEXES

  值暗许OFF,
索引操作时期,基础表和涉嫌的目录是还是不是可用来查询和数据修改操作。
  当班值日为ON时,能够承继对基础表和目录进行询问或更新,但在短期内获得sch_m架构修改锁,必得等待此表上的享有阻塞事务达成,在操作时期,此锁会阻止所有另外事情。
  当班值日为OFF时,能够会赢得分享锁,谨防更新基础表,但允许读操作

  Avg. Bytes Free per
Page-每页上的平均可用字节数:所扫描的页上的平分可用字节数。越高表达有中间碎片,可是在您用这一个数字操纵是或不是有个中碎片以前,应该怀恋fill
factor(填充因子)。

            | FAST [ , ALL_INDEXES
]

1.6 MAXDOP

--对表tbModule的所有索引进行重建,填充因子比例为80%
DBCC DBREINDEX(tbModule,'',80)  

  Avg. Page Density
(full)-平均页密度(完整):每页上的平分可用字节数的比重的相反数。低的比例表达有中间碎片。

            | TABLERESULTS [ , {
ALL_INDEXES } ] ]

  索引操作时期代表max degree of parallelism 实例配置,暗中认可值为0,
依据当下系统专门的学问负荷使用实际数指标计算机。

 

            [ , { FAST | ALL_澳门新萄京,LEVELS }
]

1.7 包蕴性列(included columns)
  包涵列只在叶等第中冒出,不控制索引行的顺序,它作用是使叶品级富含越来越多音讯之所以覆盖索引的调优工夫,覆盖索引只出现在非集中索引中,在叶品级就能够找到满意查询的整整新闻。

            [ , NO_INFOMSGS ]

发表评论

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

网站地图xml地图