一.概述  

  sql
server在高效查询值时唯有索引还远远不足,还必要理解操作要管理的数据量有多少,进而估计出复杂度,选用三个代价小的实行安顿,那样sql
server就通晓了数量的分布境况。索引的总计值消息,还内置战略用来在尚未索引的属性列上创制计算值。在有目录和未有索引的性能列上总结值音讯会被电动珍重。大多数光景下无需手动去敬重总括音讯。
  
  效能是 sqlserver
查询优化器使用总计音信来创造可拉长查询品质的查询安排。
对于繁多询问,查询优化器已为高素质查询安插生成必得的总括新闻。种种索引都会自行创设总结音讯,
总结新闻的正确性直接影响指令的快慢,实行安顿的选用是基于总计音讯。

  1.1 属性列总计值
  暗中同意意况下,每当在一个查询的where子句中运用非索引属性列时,sqlserver会自动地创造总计值,总计名称以_WA_Sys开头。

-- 查看表中非索引的统计信息
 sp_helpstats PUB_Search_Log

   如下所示:

 图片 1图片 2

  1.2 自动更新总结信息的阀值

  在自动更新计算音讯选项 AUTO_UPDATE_STATISTICS 为 ON
时,查询优化器将规定总括音信曾几何时可能过期。查询优化器通过总结自最后总结消息更新后数据修改的次数何况将这一改变次数与某一阈值进行比较,显明总括新闻何时大概过期。
  (1)假如在评估时间计算信息时表基数为 500 或更低,则每到达 500
次修改时更新三回。
  (2)借使在评估时间总结消息时表基数大于 500,则改造每到达 500 +
十分二的行数更新一次(大表极度要留意更新时间)

一. 索引概述

  关于介绍索引,有一种“小说太师,挥毫万字,一饮千钟”的盛况空前感觉,因为索引须要讲的知识点太多。在各样关系型数据Curry都会作为关键介绍,因为索引关系着数据库的完整质量,
它在数据库品质优化里占用尤为重要地方。由于索引关联面广,笔者想通过一雨后玉兰片来把索引尽量阐述清楚,大致包蕴索引存款和储蓄单元、堆介绍、集中索引与非聚集索引导介绍绍、索引参数(填充因子,富含列,约束等)、索引的使用,索引维护管理,索引计算消息、索引访问方法、索引存款和储蓄与文件组、索引视图、索引数据修改内部机制、索引的解析调优排查等。尽量争取把索引的知识点讲到讲理解,借鉴一些资料和经历,整理输出理论,施行列出案例。

  索引能够提供了对数据的快速访问。就好像一本书的目录,四个好的目录可以十分大的压缩查询时间,索引使数据以一种特定的方法组织起来,使查询操作具备最好质量。当表变得愈加大,索引就变得特别明明,能够行使索引急速满意where条件的数据行。有些景况仍是可以够动用索引支持对数码开展排序,组合,分组,筛选。

  在sqlserver里索引类型包蕴:堆,聚焦索引,非集中索引,列存款和储蓄索引,特殊索引(如全文索引),另外索引如分区索引,过滤索引等。

  1.
 堆:堆不是索引,但讲索引时会讲到堆,两个有紧凑联系,堆结构在数量插入,未有改动时是有囤积顺序的,但一改换如修改删除,结构就能够发生变化。未有集中索引的表称为堆表。

  2.
聚焦索引:对于聚焦索引,数据实际上是按顺序存款和储蓄的是B-Tree结构,B树是意味平衡的树,在寻觅记录时都只需等量的能源,获取速度三翻五次同样的,因为根索引到叶索引都独具同等的吃水,
就像一本书把具备目录编辑同样,一旦找到所要的数量,就成功了此番寻找,当查问利用到了目录时,sqlserver优化器能够神速牢固,最少I/O次数获取所需的数额。

  3. 非聚焦索引:非集中索引也是B-Tree结构,在sql server 08可中多达9九十多个。它是一心独立于数据自己组织的,也正是说它存款和储蓄的是键值,有指针指向数据本身的岗位。

  4. 列存款和储蓄索引:它是sql server 二〇一一伊始引进的一种索引类型,,主要用于对命运据量的询问操作,与价值观的索引行存款和储蓄不一样,通过列存款和储蓄的压缩形式,在某个场景大大进步索引效能。

一.概述、

  ”流光轻便把人抛,红了英桃,绿了板蕉“
转眼又年中了,惊讶生命的有数,知识的出色。在三番五次切磋索引此前,先来打听下索引和表数据的内部结构,这一节将介绍页的囤积,页分配单元类型,区的仓库储存,
最后简短介绍下系统页存储类型,页中的数据结构。

1.1  页存储

  页是 sql server存款和储蓄数据的着力单位,大小为8kb,
它存款和储蓄的档期的顺序包涵表,索引数据,分配位图,可用空间音讯等,页也是能够读写的一丁点儿I/0单位。也正是如只需访谈一行数据,也会把一切页加载到内部存款和储蓄器中。一页大小是8193个字节,由三块组成分为页头,数据行 ,
行偏移也叫页尾行指针。

  页头:有玖拾陆个字节,包涵的消息如PageID(文件号及页面编号),NextPage下三个页面包车型地铁公文号及页面编号等。

  数据行:单个数据行最大为8060字节。

  末尾行偏移:
36字节的数组,数组中的每二个值指向页中数据。当插入一行数据时,偏移量从右下角开始积存,插入第二行时偏移量为2贮存于1的右边,如下图所示:

图片 3

  七个页存储有二种分配单元类型: in_row_data
(行内数据), row_overflow_data( 行溢出多少), lob_data
LOB(大型数据)。

分配单元类型 描述
in_row_data 存放固定长度的列,以及可变长度的列。一行字节<= 8060字节的限制
row_overflow_data 存放<=8000字节的varchar,nvarchar, varbinary类型数据。一行字节>= 8060
lob_data 存放大型对象数据类型值 >=8000节字的varchar(max), nvarchar(max), varbinary(max), 以及xml或clr udt

1.2 区

   区是由8个大意上三番五次的页组成的单元,用来有效管理页,如是区内的8个页属于同三个表,则这种区叫统一区,若是区内8个页分别属于至少四个差异的表,则这种区叫混合区。当表或索引需求更加多空间时,sqlserver会为对象分配三个新区,但指标不足64kb,常常只分红贰个页,当drop或truncate表时将释放全体区。 

1.3 存款和储蓄的关系

   每种数据表对应有一个objectID标记符, 
表中有两个目录为 sys.indexes,   表和目录存款和储蓄在四个分区中
sys.partitions,但起码有四个分区。每种分区上边有8个大要一连页,
页中动用最频仍的文件类型是Data数据。

  下图展示表和目录存款和储蓄结构以及相应的元数据查询。 分配单元可因此SELECT
* FROM sys.system_internals_allocation_units视图查看

图片 4

-- 创建聚集索引
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]

一.概述

    索引填充因子作用:提供填充因子选项是为着优化索引数据存款和储蓄和质量。 当创立或重新生成索引时,填充因子的值可规定每一种叶级页上要填写数据的空间百分比,以便在每一页上保存部分结余存款和储蓄空间作为今后扩充索引的可用空间,比方:钦定填充因子的值为
80 表示各个叶级页中将有 25%的空中保留为空,以便随着向基础表中添增加少而为扩充索引提供空间。

  填充因子的值是 1 到 100
之间的比重,服务器范围的私下认可值为
0,那代表将完全填充叶级页。

 1.1
页拆分现象

   依照数据的询问和改动的百分比,精确选取填充因子值,可提供丰富的空中,以便随着向基础表中增多多少而扩充索引,进而减少页拆分的恐怕。如若向已满的索引页增多新行(新行地点依据键排序准绳,能够是页中大肆行地点), 数据库引擎将把差相当少八分之四的行移到新页中,以便为该新行腾出空间。 这种结合称为页拆分。页拆分可为新记录腾出空间,可是实施页拆分大概必要开支一定的时光,此操作会消耗一大波能源。 其余,它还大概引致碎片,从而致使 I/O
操作扩大。 假如经常发出页拆分(恐怕过sys.dm_db_index_physical_stats
来查看页拆分景况),可通过应用新的或现成的填充因子值来再度生成索引,进而再度分发数据。

  填充钱设置过低: 优点是
插入或涂改时收缩页的拆分次数。劣点是
会使索引必要越多的存款和储蓄空间,况且会下落读取质量。

  填充钱设置过高: 优点是
若是每三个索引页数据都全体填满,此时select作用最高。劣点是
插入或改换时索要活动前面全部页,功能低。

二. 总括音信深入分析

--查询统计信息
DBCC SHOW_STATISTICS(tablename,'indexname')

  下边是二个目眩神摇的总括音讯,上二次创新总括消息时间是二〇一八年十二月8日,距离今后有贰个多月没更新了,也便是说更新规范没有达到规定的规范(改换达到500次

  • 40%的行数变动)。

  图片 5

  图片 6

  2.1 总括音讯三局地:头消息,字段选用性,直方图。
   (1) 头信息

    name:计算新闻明称,也是索引的名字。
    updated:上二回计算消息更新时间(首要)。
    rows:上三次总结表中的行数,反映了表里的数据量。
    rows Sampled:
用于总结音讯总结的取样总行数。当表格数据非常的大,为了降耗,只会取一小部分数码做抽样。 
rows sampled<rows时候总计音讯大概不是最纯粹的。
    steps:把数据分为几组。最多200个组,每一个直方图梯级都富含四个列值范围,后跟上限列值。
    density:索引第一列前缀的选用性。查询优化器不利用此 Density,
值此值的指标是为了与 SQL Server
二零零六 从前的版本实现向后极度。
    average key length:索引列平均字节数。
    string index: YES 代表字符串索引。

  (2)数据字段选用性

    all density:
反映了索引列的选拔度。它反映了数额集里重复的数据量多少,借使数量非常少有双重,那么它接纳性就相比高。 密度为
1/非重复值。值越小选取性就越高。借使值小于了0.1,那索引的选用性就相当高了(那点通过翻看自增ID主键索引列,特别精晓低于了0.1的值)。
    average length: 索引列平均字节长度 比如model
列值平均长度是二十三个字节。
    columns:索引列名称

  (3)直方图(对应steps 组)

      直方图衡量数据集中各类非重复值的面世频率。
查询优化器依据总括消息指标第叁个键列中的列值来计量直方图,它选择列值的方法是以总括方式对行举行抽样或对表或视图中的全体行施行完全扫描。
    range_hi_key: 列值也称为键值。直方图里每一组(step)数据最大值
。上海教室值是model字符串类型
    range_rows:每组数据区间估量数目。
    eq_rows:表中值与直方图每组数据库上限相等的数量
    distinct_range_rows:每组中国和欧洲再也数目,
若无重新则range_rows等于distinct_range_rows值。
    avg_range_rows:每组数据区间重复值平平均数量据, (range_rows)

 

 三. 人工维护的两种情景

1.询问实施时间十分短
  纵然查询响应时间相当长或不足预言,则在施行别的故障排除步骤前,确定保证查询全部新颖的计算音讯。
2.在升序或降序键列上产生插入操作。
  与查询优化器推行的总计新闻更新相比较,升序或降序键列(例如 IDENTITY
或实时岁月戳列)上的总结音讯可能必要更频仍地翻新。插入操作将新值追加到升序或降序键列上
3.在爱抚操作后。
  思考在施行爱护进程(举例截断表或对不小百分比的行施行大体量插入)后更新总括音讯。
那可避防止在未来询问等待自动总括消息更新时在查询管理中出现延迟。

-- 更新统计信息
UPDATE STATISTICS tablename(indexname)

  更新总结音信可保险查询利用新型的总计音讯进行编写翻译。
可是,更新总计消息会形成查询重新编写翻译。
大家建议不用太频繁地翻新总结新闻,因为须求在改良询问安顿和重复编写翻译查询所用时间之内权衡质量。

二. 索引元数据   

  元数据是对应每种作用的一对叙述与风味,这里的元数据是索引相关描述,前面查询深入分析还有大概会利用到那个元数据,具体通晓使用能够先查看msdn,
索引常用相关元数据如下:

  sys.indexes
 它提供索引名,索引类型(堆或索引),集中与非聚焦类型,索引填充因子,索引过滤等音信。

  sys.index_columns 它提供了目录富含的列音信,可由此与sys.indexes关联获得索引列定义。

SELECT i.name AS index_name  
    ,COL_NAME(ic.object_id,ic.column_id) AS column_name  
    ,ic.index_column_id  
    ,ic.key_ordinal  
,ic.is_included_column  
FROM sys.indexes AS i  
INNER JOIN sys.index_columns AS ic   
    ON i.object_id = ic.object_id AND i.index_id = ic.index_id  
WHERE i.object_id = OBJECT_ID('表名xx');      

  如下图所示:图片 7

 

 sys.columns_store_dictionaries和sys.columns_store_segments:用于描述列存储消息。

 sys.xml_indexes:与sys.indexes类似
首若是用于xml索引。

 sys.spatial_indexes:也与sys.indexes类似
主借使用于spatial索引。

 sys.dm_db_index_physical_stats:它陈诉了目录的深浅和心碎音信,代替了DBCC
SHOWCONTIG。有二种获得总计音信扫描碎片形式:LIMITED,SAMPLED,DETAILED
那三种顺序描述供给的时日是越多。

 sys.dm_db_index_operational_stats:用来追踪索引
I/O、 锁定、
闩锁、访谈方法。索引访问形式(叶级插入累计数,叶级删除累计数,叶级更新积攒数)。
索引或堆上闩锁争用次数时间,lock锁定数量时间,以及索引载入内部存款和储蓄器 I/O
数。

 sys.objects:客户自定义对象(如:表,视图..)的标志号,能够透过索引的objectid找到有关表名或视图名。

 sys.PARTITIONS:描述索引在每一种分区中各对应一行,表和目录都至少含有贰个分区(在表内部结构里,顶层是表,中间层是分区,分区下边再是数量和目录)。

 sys.dm_db_index_usage_stats:描述差异门类索引操作的计数(如:全表描述次数、走索引次数,书签查找次数等)以及相应各操作时间。每回查询索引,所开展的每一个独立的探寻、扫描、查找或更新都被计为对该索引的二回利用,并使此视图中的相应计数器递增。

 sys.dm_db_missing_index_groups:索引组中带有的缺点和失误索引消息。

 sys.dm_db_missing_index_details:描述有关缺点和失误索引的详细消息。

 sys.dm_db_missing_index_group_stats:描述缺点和失误索引组中包罗的缺点和失误索引。

  如下图是四个元数据整合,剖判出缺点和失误的目录

SELECT  DB_NAME(database_id) AS database_name ,
        OBJECT_NAME(object_id, database_id) AS table_name ,
        mid.equality_columns ,
        mid.inequality_columns ,
        mid.included_columns ,
        ( migs.user_seeks + migs.user_scans ) * migs.avg_user_impact AS Impact ,
        migs.avg_total_user_cost * ( migs.avg_user_impact / 100.0 )
        * ( migs.user_seeks + migs.user_scans ) AS Score ,
        migs.user_seeks ,
        migs.user_scans
FROM    sys.dm_db_missing_index_details mid
        INNER JOIN sys.dm_db_missing_index_groups mig ON mid.index_handle = mig.index_handle
        INNER JOIN sys.dm_db_missing_index_group_stats migs ON mig.index_group_handle = migs.group_handle
ORDER BY migs.avg_total_user_cost * ( migs.avg_user_impact / 100.0 )
        * ( migs.user_seeks + migs.user_scans ) DESC

 sys.dm_db_missing_index_columns:缺乏索引列的关于的音讯。

二. 索引与表存款和储蓄关系演示

  2.1
首先建三个RowText表

CREATE TABLE [dbo].[RowText](
    [a] [varchar](3000) NULL
) ON [PRIMARY]

  2.2 依照表名,查到表的标记符objectID:  5575058。
这里展现了表的相关音信如创建时间,修改时间。

select * from sys.objects where name='RowText'

  图片 8

      2.3
 依据标志符objectID,找到表上的多少个分区,这里独有二个区。找到标志hobt_id(是该区里堆或B树结构的标记):
72057594038976512

select * from sys.partitions where object_id=5575058

   
 图片 9

  2.4  再根据hobt_id: 72057594038976512,找到页分配的单元,
这里现只突显了in_row_data  行内数据,音信包罗了行内数据运用的总页数,已采纳页数,数据页数

select * from sys.allocation_units where container_id=72057594038976512

 
 图片 10

1.1 Filefactor参数

二. 碎片与填充因子案例

   上面分析在生养遭逢下,对长日子二个表的ix_1索引进行剖析。

-- 有一个PUB_Search_ResultVersions2表长期有增删改操作, 在很长一段时间运行后,查看碎片如下
dbcc SHOWCONTIG (PUB_Search_ResultVersions2,'ix_1')

  图片 11

    通过上图能够精晓到平均页密度是29.74%,相当于在那之中碎片太多,现多个页的数码存款和储蓄量才是正规多少个页的存款和储蓄量。扫描的页数是703页,涉及到了1九十二个区。下边重新维护索引

--重建索引
ALTER INDEX ix_1 ON dbo.PUB_Search_ResultVersions2 REBUILD

  图片 12

     通过上航海用教室能够看出,扫描页数独有了248页(原本是703页)
用了36区(原来是1九十一个区),现等于一页的实际数据是前边三页的总数,
查询将会回退了大气的I/O扫描。

  借使频频的增删改,最好设置填充因子,私下认可是0,相当于百分百,
假若有新索引键排序后,挤入到贰个已填满8060字节的页中时,就能够发生页拆分,发生碎片,这里作者利用图形分界面来安装填充因子为85%(最棒通过t-sql来设置,做运转自动敬重),再重新建立下索引使设置生效。

  图片 13

  下图可以见到平均页密度是85%,填充因子设置生效。能够在经过sys.dm_db_index_physical_stats重新查看该索引页使用数据。

图片 14

  三. 页分配单元演示

  3.1 上边讲到页分配单元有三种档期的顺序,通过下边包车型客车脚本能够来查阅剖判。

SELECT CONVERT(VARCHAR(10),OBJECT_NAME(i.object_id)) AS table_name,
     i.Name AS index_name,i.index_id,i.type_desc AS index_type,
     partition_id,partition_number,p.rows,allocation_unit_id,
     a.type_desc AS page_type_desc,
     a.total_pages,a.used_pages,a.data_pages
    FROM sys.indexes i JOIN sys.partitions p 
ON i.object_id=p.object_id and i.index_id=p.index_id
JOIN sys.allocation_units a ON p.partition_id=a.container_id
WHERE i.object_id=object_id('RowText')

  3.2 查看页存款和储蓄的行内数据

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[RowText]') AND type in (N'U'))
DROP TABLE [dbo].[RowText]

go
CREATE TABLE [dbo].[RowText](
    [a] [varchar](3000) NULL
) ON [PRIMARY]

insert into RowText
select REPLICATE('a',3000)
insert into RowText
select REPLICATE('a',3000)
insert into RowText
select REPLICATE('a',3000)

  当前一行数据两千字节,小于一行九千字节,所以存放为IN_ROW_DATA类型,新扩充三行共玖仟字节,大于了一页8060字节,所以发生了data_pages:2页。通过3.1脚本查看

 图片 15

  3.2 查看页存款和储蓄的行溢出多少

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[RowText]') AND type in (N'U'))
DROP TABLE [dbo].[RowText]
go
create TABLE [dbo].[RowText](
    [a] [varchar](3000) NULL,
    [b] [varchar](6000) NULL
) ON [PRIMARY]

insert into RowText
select REPLICATE('a',3000),REPLICATE('b',6000)

  当前一行数据为七千字节,大于一行九千字节,所以分配了ROW_OVERFLOW_DATA类型,通过3.1脚本查看

图片 16

  3.3  查看页存款和储蓄的LOB大型数据

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[RowText]') AND type in (N'U'))
DROP TABLE [dbo].[RowText]
go
CREATE TABLE [dbo].[RowText](
    [a] [varchar](3000) NULL,
    [b] [varchar](6000) NULL,
    [c] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

insert into RowText
select REPLICATE('a',3000),REPLICATE('b',6000),REPLICATE('c',12000)

  当前表富含了text类型,所以分配了LOB_DATA大型数据,通过3.1脚本查看

  图片 17

     
 最后简短总括下:在安顿表字段时,必必要与事务相契合,尽量幸免建大型字段,产生行溢出和LOB大型数据,进而导致页拆分,查询将索要跨页。原理是当一行抢先8060字节时,这项指标值将被移动到多少个堪当行溢出分配单元页中,在原始页上保存二个24字节指针,指向行外数据,那样就完毕了行跨页。
存放大型对象数据类型值时,在原始页上保存一个16字节指针,指向该特大型对象值。

  使用Filefactor可以对索引的各样叶子分页存款和储蓄保留部分上空。对于聚焦索引,叶品级蕴涵了数额,使用Filefactor来调控表的保留空间,通过预留的长空,幸免了新的数据按顺序插入时,需腾出空位而进展分页分隔。
  Filefactor设置生效注意,唯有在开立索引时才会依赖已经存在的多少调控留下的上空尺寸,如里必要能够alter
index重新建立索引比量齐观置原本钦点的Filefactor值。
  在开创索引时,假设不点名Filefactor,就动用默许值0
也等于填充满,可通过sp_configure
来配置全局实例。Filefactor也只就用来叶子级分页上。假诺要在中等层调节索引分页,能够透过点名pad_index选用来完毕.该选取会布告到目录上享有档期的顺序使用同一的Filefactor。Pad_index也唯有索引在新建或重新建立时有用。

 四  页单元文件类型

  咱们领会页文件重大是用来存储表和目录的数码,其实还包涵其他的囤积,
在sqlserver里页文件存款和储蓄的花色也分9种,如下图所示

页类型

内容

Global Allocation Map (GAM)

它用来标识相应的区是否已经被分区,能标识64000个区,也就是4G空间,如超过4G则分配另一个GAM页 bit=0 表示当前区已被数据使用

.Shared Global Allocation Map(SGAM)

表示该区是否是混合区 bit=1 是混合区且至少有一个数据页被分配

Page Free Space

存储该文件里所有页分配情况,和可用空间信息

Index Allocation Map

表或索引使用该区的信息

Bulk Changed Map

最后一条 backup log 语句之后大容量操作所修改区的信息

Differential Changed Map

最后一条 backup database 语句之更改区的信息

Data

用来存储数据

Row Overflow Page

行溢出的数据

LOB

存放大型对象数据:text,nvarchar(max),varchar(max)…

1.2 Drop_existing 参数

 五.数据页的组织

  在sql
server里有这么多页文件类型,哪个页里是怎么存款和储蓄的,存储了什么内容吧?下边来查看一个数额页存款和储蓄的音讯

  上边通过partition_id的标记符:72057594038976512
找到first_page 字段
第一页

select * from sys.system_internals_allocation_units where container_id=72057594038976512

  图片 18

   由于存款和储蓄关系,页码是以字节16进制呈现0x7三千0000100,这里必要倒序后正是0x010000000072,

  0x代表:文件组号

  0072从16进制转成10进制为第114页(后四字节代表页的号子)

  通过Dbcc page能够查看页的具体内容,使用从前dbcc page, 先展开dbcc
traceon (3604) 告诉sql server将结果重临给客商端 ,dbcc Page 多少个参数
如下:

dbid | dbname 该页的数据库ID或数量
Filenum 页面文件号
Pagenum 页面号
Printopt =1 对每条记下打字与印刷缓冲报头,页面报头,输骑行偏移表

  具体行使如下:

  dbcc traceon (3604)

  dbcc page(‘test’,1,114,1)

  数据页结构输出分为四个珍视阶段:buffer,  page
header, data,  offset table

  Buffer: 用来标志该数量页在内部存款和储蓄器中的地点。

  page header: 页头新闻

  data:存款和储蓄的数目

  offset table: 偏移量

  感兴趣的仇敌,能够再深切商讨。这里大致讲下。

PAGE: (1:114)


BUFFER:


BUF @0x0000000081FE4640

bpage = 0x0000000081B66000           bhash = 0x0000000000000000           bpageno = (1:114)
bdbid = 5                            breferences = 0                      bcputicks = 222
bsampleCount = 1                     bUse1 = 5256                         bstat = 0xc00009
blog = 0x32159                       bnext = 0x0000000000000000           

PAGE HEADER:


Page @0x0000000081B66000

m_pageId = (1:114)                   m_headerVersion = 1                  m_type = 1
m_typeFlagBits = 0x4                 m_level = 0                          m_flagBits = 0x8200
m_objId (AllocUnitId.idObj) = 35     m_indexId (AllocUnitId.idInd) = 256  
Metadata: AllocUnitId = 72057594040221696                                 
Metadata: PartitionId = 72057594038976512                                 Metadata: IndexId = 0
Metadata: ObjectId = 5575058         m_prevPage = (0:0)                   m_nextPage = (0:0)
pminlen = 4                          m_slotCnt = 2                        m_freeCnt = 2070
m_freeData = 6118                    m_reservedCnt = 0                    m_lsn = (27:202:2)
m_xactReserved = 0                   m_xdesId = (0:0)                     m_ghostRecCnt = 0
m_tornBits = 2253409                 

Allocation Status

GAM (1:2) = ALLOCATED                SGAM (1:3) = ALLOCATED               
PFS (1:1) = 0x62 MIXED_EXT ALLOCATED  80_PCT_FULL                         DIFF (1:6) = CHANGED
ML (1:7) = NOT MIN_LOGGED            

DATA:


Slot 0, Offset 0x60, Length 3011, DumpStyle BYTE

Record Type = PRIMARY_RECORD         Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS
Record Size = 3011                   
Memory Dump @0x000000001116A060

0000000000000000:   30000400 01000001 00c30b61 61616161 ?0..........aaaaa 
0000000000000010:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000020:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000030:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000040:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000050:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000060:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000070:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000080:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000090:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000100:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000110:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000120:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000130:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000140:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000150:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000160:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000170:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000180:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000190:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000200:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000210:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000220:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000230:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000240:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000250:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000260:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000270:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000280:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000290:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000300:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000310:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000320:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000330:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000340:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000350:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000360:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000370:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000380:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000390:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000400:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000410:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000420:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000430:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000440:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000450:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000460:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000470:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000480:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000490:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000500:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000510:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000520:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000530:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000540:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000550:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000560:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000570:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000580:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000590:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000600:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000610:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000620:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000630:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000640:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000650:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000660:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000670:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000680:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000690:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000700:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000710:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000720:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000730:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000740:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000750:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000760:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000770:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000780:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000790:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000800:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000810:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000820:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000830:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000840:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000850:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000860:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000870:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000880:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000890:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000900:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000910:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000920:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000930:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000940:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000950:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000960:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000970:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000980:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000990:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A00:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A10:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A20:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A30:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A40:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A50:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A60:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A70:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A80:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A90:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AA0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AB0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AC0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AD0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AE0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AF0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B00:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B10:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B20:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B30:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B40:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B50:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B60:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B70:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B80:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B90:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000BA0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000BB0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000BC0:   616161???????????????????????????????aaa              

Slot 1, Offset 0xc23, Length 3011, DumpStyle BYTE

Record Type = PRIMARY_RECORD         Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS
Record Size = 3011                   
Memory Dump @0x000000001116AC23

0000000000000000:   30000400 01000001 00c30b61 61616161 ?0..........aaaaa 
0000000000000010:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000020:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000030:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000040:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000050:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000060:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000070:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000080:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000090:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000000F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000100:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000110:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000120:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000130:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000140:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000150:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000160:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000170:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000180:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000190:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000001F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000200:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000210:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000220:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000230:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000240:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000250:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000260:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000270:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000280:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000290:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000002F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000300:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000310:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000320:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000330:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000340:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000350:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000360:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000370:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000380:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000390:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000003F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000400:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000410:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000420:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000430:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000440:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000450:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000460:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000470:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000480:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000490:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000004F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000500:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000510:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000520:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000530:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000540:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000550:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000560:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000570:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000580:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000590:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000005F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000600:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000610:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000620:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000630:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000640:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000650:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000660:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000670:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000680:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000690:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000006F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000700:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000710:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000720:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000730:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000740:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000750:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000760:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000770:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000780:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000790:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000007F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000800:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000810:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000820:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000830:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000840:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000850:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000860:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000870:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000880:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000890:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000008F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000900:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000910:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000920:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000930:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000940:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000950:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000960:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000970:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000980:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000990:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009A0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009B0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009C0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009D0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009E0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
00000000000009F0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A00:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A10:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A20:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A30:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A40:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A50:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A60:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A70:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A80:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000A90:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AA0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AB0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AC0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AD0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AE0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000AF0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B00:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B10:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B20:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B30:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B40:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B50:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B60:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B70:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B80:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000B90:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000BA0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000BB0:   61616161 61616161 61616161 61616161 ?aaaaaaaaaaaaaaaa 
0000000000000BC0:   616161???????????????????????????????aaa              

OFFSET TABLE:

Row - Offset                         
1 (0x1) - 3107 (0xc23)               
0 (0x0) - 96 (0x60)                  


DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

  

  删除或重新建立两个点名的目录作为单个事务来处理。该项在重新建立集中索引时充足有用,当删除一个集中索引时,sqlserver会重新构建每种非集中索引以便将书签从集中索引键改为翼虎ID。要是再新建大概重新创建聚焦索引,Sql
server会再贰回重城建总公司体的非聚焦索引,纵然再新建或重新建立的聚焦索引键值一样,能够安装Drop_existing=ON。

1.3 IGNORE_DUP_KEY

  是指倘若一个update大概insert语句影响多行数据,但有一行键被发掘发生重值时,整个讲话就能回滚,IGNORE_DUP_KEY=on时发生重复键值时不会唤起上上下下讲话的回滚,重复的行会被甩掉另外的行会被插入或更新。

1.4 Statistics_norecompute

  选项决定了是或不是供给活动更新索引上的总计,每一个索引维护着该索引第三位字段的数值遍布的柱状图,在询问试行陈设时,查询优化器利用这么些总括消息来推断贰个一定索引的卓有效率。当数码达到三个阀值时,总结值会变。Statistics_norecompute选项允许二个提到的目录在多少修改时不自动更新总计值。该选取覆盖了auto_update_statistics的on值。

1.5 ONLINE   

  值暗中同意OFF,
索引操作时期,基础表和涉及的目录是或不是可用于查询和数码修改操作。
  当值为ON时,能够承继对基础表和目录进行询问或更新,但在长期内获得sch_m架构修改锁,必需等待此表上的具有阻塞事务实现,在操作时期,此锁会阻止全数其余专门的职业。
  当班值日为OFF时,能够会获得分享锁,谨防更新基础表,但允许读操作

1.6 MAXDOP

  索引操作时期代表max degree of parallelism 实例配置,默许值为0,
依照当下系统职业负荷使用实际数目标微管理器。

1.7 包括性列(included columns)
  包罗列只在叶等第中冒出,不调整索引行的逐个,它效率是使叶品级富含越来越多新闻之所以覆盖索引的调优手艺,覆盖索引只现出在非聚集索引中,在叶等第就可以找到满足查询的整整新闻。

1.8 on [primary]

  在成立索引时 create index
最终一个子句允许顾客钦命索引被放置在何地。能够钦赐特定的文件组或预订义的分区方案。暗许贮存与表文件组一致一般都以主文件组中。

1.9约束和目录

    当大家创制主键大概唯一性约束时,会创立二个唯一性索引,被创建出来协助自律的目录名称与约束名称一样。
  约束是二个逻辑概念,而索引是一个物理概念,创设目录实际是创建三个据有存款和储蓄空间而且在数量修改操作中必须得到维护的情理构造。
  成立约束就索引内部结构或优化器的挑选来看是不曾分化的。

二 索引碎片  

  2.1 SHOWCONTIG 

--   SQLserver 2000使用SHOWCONTIG查看索引碎片 (已过时)
dbcc SHOWCONTIG (tablename,'indexname') 

  比如上面查询三个PUB_StockCollect表下的IX_StockModel索引

图片 19

  (1)Page
Scanned-扫描页数:假若你领会行的好像尺寸和表或索引里的行数,那么你能够估摸出索引里的页数。看看扫描页数,要是分明比你测度的页数要高,表明存在内部碎片。

  (2)Extents
Scanned-扫描扩张盘区数:用扫描页数除以8,四舍五入到下三个最高值。该值应该和DBCC
SHOWCONTIG重回的围观扩大盘区数同样。若是DBCC
SHOWCONTIG重回的数高,表达存在外界碎片。碎片的严重程度信赖Yu Gang才展现的值比推断值高多少。 

  (3)Extent
Switches-扩展盘区开关数:该数应该相等扫描扩展盘区数减1。高了则印证有外界碎片。

  (4)Avg. Pages per
Extent-种种增添盘区上的平分页数:该数是扫描页数除以扫描增添盘区数,一般是8。小于8表明有外界碎片。

  (5)Scan Density [Best Count:Actual
Count]-扫描密度[最棒值:实际值]:DBCC
SHOWCONTIG重临最可行的二个比重。那是扩张盘区的最棒值和实际值的比值。该比例应该尽量临近100%。低了则证实有表面碎片。

  (6)Logical Scan
Fragmentation-逻辑扫描碎片:冬辰页的比重。该比例应该在0%到10%里边,高了则申明有表面碎片。

  (7)Extent Scan
Fragmentation-扩展盘区扫描碎片:冬辰扩充盘区在扫描索引叶级页中所占的百分比。该比例应该是0%,高了则表明有外界碎片。

  (8)Avg. Bytes Free per
Page-每页上的平均可用字节数:所扫描的页上的平均可用字节数。越高表明有当中碎片,不过在您用那个数字垄断(monopoly)是或不是有在那之中碎片此前,应该思量fill
factor(填充因子)。

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

  计算:(1)逻辑扫描碎片:越低越好
(2)平均页密度:十分八左右最佳,低于%60重新建立索引,(3)最棒计数与实际计数相差相当大重新建构索引。

发表评论

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

网站地图xml地图