SHOWCONTIG返回的扫描扩展盘区数一致,如果不指定Filefactor

发布时间:2019-08-18  栏目:数据  评论:0 Comments

-- 创建聚集索引
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是显得钦命的表的数目和目录的散装音讯。

当索引所在页面包车型大巴依附主关键字的逻辑顺序,和数据文件中的物理顺序不相称时,碎片就时有产生了。全部的叶级页包括了指向前一个和后贰个页的指针。这样就产生四个双链表。理想图景下,数据文件中页的情理顺序会和逻辑顺序相称。整个磁盘的做事性质在物理顺序相称逻辑顺序时将明了进步。对某个特定的询问来说,那将带动极佳的性质。当物理排序和逻辑排序不相称时,磁盘的干活性质会变得不算,那是因为磁头必须前进和向后移动来查找索引,而不是只象有些单一方平昔搜求。碎片会影响I/O质量,然而对于位于SQL
Server数据缓冲内的数额页来讲,碎片并不会带来其它影响。

DBCC
SHOWCONTIG是展现内定的表的数码和目录的零碎信息。

1.1 Filefactor参数

运维结果如下:

  如上海教室所示。

在目录碎片整理前,请保管系统能源的部分主题素材,举例物理磁盘碎片,不成立的基本功结构等要素会给质量带来负面影响,参看KB935089:运用
Defrag 处理器能够 such as Exchange Server 或 SQL Server
数据库服务器的卷举办零散整理。
DBCC
SHOWCONTIG是展现钦命的表的数据和目录的碎片消息。当运维该命令时,要非常注意逻辑碎片(Logical
Fragmentation)和页密度(Page Density)八个指标。 

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%

  解释如下:

Page
Scanned-扫描页数:
借使您驾驭行的好像尺寸和表或索引里的行数,那么你可以猜想出索引里的页数。看看扫描页数,若是显明比你估算的页数要高,表明存在里面碎片。
Extents
Scanned-扫描扩大盘区数:
用扫描页数除以8,四舍五入到下四个最高值。该值应该和DBCC
SHOWCONTIG重回的围观扩充盘区数一样。即使DBCC
SHOWCONTIG再次回到的数高,表明存在外界碎片。碎片的严重程度正视于刚先生才来得的值比估摸值高多少。
Extent
Switches-扩充盘区按键数:
该数应该相等扫描增添盘区数减1。高了则证实有外界碎片。
Avg. Pages per
Extent-每一种扩展盘区上的平分页数:
该数是扫描页数除以扫描扩大盘区数,一般是8。小于8表达有表面碎片。
Scan Density [Best Count:Actual
Count]-扫描密度[最好值:实际值]:
DBCC
SHOWCONTIG重回最实用的四个百分比。那是扩充盘区的最棒值和实际值的比值。该比例应该尽量邻近100%。低了则注明有表面碎片。

dbcc SHOWCONTIG

1.2 Drop_existing 参数

连锁表明如下:

  Page
Scanned-扫描页数:如若您驾驭行的近乎尺寸和表或索引里的行数,那么你能够猜度出索引里的页数。看看扫描页数,假如明显比你估摸的页数要高,表达存在里面碎片。

Logical Scan
Fragmentation-逻辑扫描碎片:
严节页的百分比。该比例应该在0%到10%时期,高了则证实有外部碎片。
Extent Scan
Fragmentation-增加盘区扫描碎片:
冬天扩充盘区在扫描索引叶级页中所占的比重。该比例应该是0%,高了则声明有表面碎片。
Avg. Bytes Free per
Page-每页上的平均可用字节数:
所扫描的页上的平分可用字节数。越高表明有内部碎片,但是在你用这几个数字操纵是或不是有在那之中碎片此前,应该思量fill
factor(填充因子)。
Avg. Page Density
(full)-平均页密度(完整):
每页上的平均可用字节数的百分比的相反数。低的百分比表明有当中碎片。

[ (

  删除或重新建立叁个点名的目录作为单个事务来管理。该项在重新创建集中索引时十分有用,当删除多个集中索引时,sqlserver会重新建立各样非聚集索引以便将书签从集中索引键改为ENCOREID。要是再新建大概重新构造建设聚集索引,Sql
server会再二遍重城建总公司体的非集中索引,要是再新建或重新塑造的集中索引键值一样,能够安装Drop_existing=ON。

Page
Scanned-扫描页数:假设您精晓行的近乎尺寸和表或索引里的行数,那么你能够测度出索引里的页数。看看扫描页数,固然明显比你揣度的页数要高,表达存在里面碎片。
Extents
Scanned-扫描扩大盘区数:用扫描页数除以8,四舍五入到下一个最高值。该值应该和DBCC
SHOWCONTIG重返的扫描扩充盘区数同样。固然DBCC
SHOWCONTIG重临的数高,表明存在外界碎片。碎片的严重程度依赖于刚同志才呈现的值比预计值高多少。
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再次来到的数高,表达存在外部碎片。碎片的严重程度依赖于刚(Yu-Gang)才呈现的值比估算值高多少。

参考:Microsoft SQL Server 2000索引碎片整理最好实行

    { ‘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%到百分之十里面,高了则证实有外界碎片。

        {

1.5 ONLINE   

调用微软的原话如下:
DBCC INDEXDEFRAG
命令是一块操作,所以索引唯有在该命令正在运营时才可用,况且能够在不放任已变成工作的动静下行车制动器踏板该操作。这种艺术的宿疾是在再次协会数量方面一向不聚焦索引的除了/重新创建操作可行。
再度创造聚焦索引将对数码实行再一次协会,其结果是使数据页填满。填满程度足以利用
FILLFACTO大切诺基选项实行配备。这种情势的瑕玷是索引在除去/重新成立周期内为脱机状态,况兼操作属原子级。假若中断索引创建,则不会再次成立该索引。相当于说,要想赢得好的魔法,依然得用重新创建索引,所以决定重新营造索引。
DBCC DBREINDEX(表,索引名,填充因子)
率先个参数,能够是表名,也得以是表ID。
第二个参数,尽管是”,表示影响该表的保有索引。
其八个参数,填充因子,即索引页的数量填充程度。假设是100,表示种种索引页都全体填满,此时select功能最高,但事后要插入索引时,就得移动前边的有着页,功效相当的低。借使是0,表示使用从前的填写因子值。

  Extent Scan
Fragmentation-增添盘区扫描碎片:冬日增加盘区在扫描索引叶级页中所占的比例。该比例应该是0%,高了则注明有外界碎片。

            [ ALL_INDEXES

  值私下认可OFF,
索引操作时期,基础表和事关的目录是不是可用来查询和数量修改操作。
  当值为ON时,能够承袭对基础表和目录举办查询或更新,但在短期内获取sch_m架构修改锁,必须等待此表上的持有阻塞事务实现,在操作时期,此锁会阻止全数其他事情。
  当班值日为OFF时,能够会博得分享锁,严防更新基础表,但允许读操作

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

            | FAST [ , ALL_INDEXES
]

留下评论

网站地图xml地图