sql server 索引演讲体系六 碎片查看与应用方案

2019-11-30 14:24 来源:未知

一 . dm_db_index_physical_stats 主要字段表达

  1.1 内部碎片:是avg_19463331韦德国际,page_space_used_in_percent字段。是指页的填充度,为了使磁盘使用意况达到最优,对于从未过多随便插入的目录,此值接待近 100%。 然则,对于具备许多自由插入且页很满的目录,其页拆分数将不仅仅充实。 那将促成越来越多的碎片。 由此,为了降低页拆分,此值应小于 100%。

  1.2 外界碎片:也叫逻辑碎片是avg_fragmentation_in_percent字段。是分页的逻辑顺序和概略顺序不宽容大概索引具备的强盛不总是时爆发。当对表中定义的目录实行数据改良(INSERT、UPDATE 和 DELETE 语句)的百分百进程中都会产出零星。 由于那几个退换常常并不在表和目录的行中平均布满,所以每页的填充度会任何时候间而改过。 对于扫描表的有个别或任何索引的询问,这种碎片会促成额外的页读取。 那会妨碍数据的交互作用扫描。

  1.3 使用查看dm_db_index_physical_stats索引碎片 (SQL server 二零零七以上卡塔尔(英语:State of Qatar)。

SELECT OBJECT_NAME(sys.indexes.OBJECT_ID) AS tableName,
 sys.indexes.name,   
 page_count,
 (page_count*8.0)AS 'IndexSizeKB',
 avg_page_space_used_in_percent,
 avg_fragmentation_in_percent,
 record_count,avg_record_size_in_bytes,
index_type_desc,
fragment_count 
from sys.dm_db_index_physical_stats(db_id('dbname'),object_id('tablename'), null,null,'sampled') 
 JOIN sys.indexes  ON   sys.indexes.index_id = sys.dm_db_index_physical_stats.index_id
 AND sys.indexes.object_id = sys.dm_db_index_physical_stats.object_id

    上边依旧接着上大器晚成篇查询PUB_StockCollect表下的目录

19463331韦德国际 1

  (1) avg_fragmentation_in_percent(外界碎片也叫逻辑碎片卡塔尔(英语:State of Qatar):最重大的列,索引碎片百分比。
    val >十分风度翩翩 and val<= 五分一 -------------索引重新整合(碎片收拾) alter index reorganize 卡塔尔(英语:State of Qatar)
    val >四分之一 --------------------------索引重建 alter index rebulid with (online=on卡塔尔国
    avg_fragmentation_in_percent:大范围的零散(当碎片大于百分之二十五卡塔尔,恐怕供给索引重新创建
  (2) page_count:索引或数据页的总和。
  (3) avg_page_space_used_in_percent(内部碎片卡塔尔:最根本列:页面平均使用率也叫存储空间的平分百分比, 值越高(以五分之四填充度为参谋点) 页存款和储蓄数据就越来越多,内部碎片越少。
  (4) avg_record_size_in_bytes:平均记录大小(字节卡塔尔(英语:State of Qatar)。
  (5) index_type_desc列:索引类型-集中索引大概非聚焦索引等。
  (6) record_count:总记录数,相当于行数。
  (7) fragment_count: 碎片数。

-- 创建聚集索引
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 表示各个叶级页上将有 五分之三的长空保留为空,以便随着向功底表中添扩展少而为扩张索引提供空间。

  填充因子的值是 1 到 100 之间的百分比,服务器范围的暗中同意值为 0,那象征将完全填充叶级页。

 1.1 页拆分现象

   按照数量的查询和校勘的比例,无误抉择填充因子值,可提供丰裕的半空中,以便随着向根底表中添扩展少而扩张索引,进而裁减页拆分的只怕。假诺向已满的索引页增多新行(新行地点依照键排序准则,能够是页中任意行地方卡塔尔国, 数据库引擎将把差非常的少四分之二的行移到新页中,以便为该新行腾出空间。 这种重新组合称为页拆分。页拆分可为新记录腾出空间,但是实行页拆分恐怕须要开销一定的时日,此操作会消耗大量能源。 此外,它还或者以致碎片,进而招致 I/O 操作增加。 倘使常常发生页拆分(恐怕过sys.dm_db_index_physical_stats 来查看页拆分境况卡塔尔,可因此采纳新的或现存的填写因子值来再度生成索引,进而再度分发数据。

  填充钱设置过低: 优点是 插入或涂改时降低页的拆分次数。短处是 会使索引须求越来越多的储存空间,并且会回退读取品质。

  填充钱设置过高: 优点是 若是每二个索引页数据都全部填满,这个时候select功效最高。瑕疵是 插入或改换时索要活动前面全数页,效用低。

一. 索引概述

  关于介绍索引,有生龙活虎种“小说太史,挥毫万字,一饮千钟”的磅礴以为,因为索引须要讲的知识点太多。在种种关系型数据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单位。也正是如只需访谈后生可畏行数据,也会把一切页加载到内部存款和储蓄器中。意气风发页大小是8194个字节,由三块组成分为页头,数据行 , 行偏移也叫页尾行指针。

  页头:有九十九个字节,包括的音讯如PageID(文件号及页面编号),NextPage下贰个页面的文件号及页面编号等。

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

  末尾行偏移: 36字节的数组,数组中的每四个值指向页中数据。当插入风姿浪漫行数据时,偏移量从右下角早前积累,插入第二行时偏移量为2寄存于1的左臂,如下图所示:

19463331韦德国际 2

  壹个页存款和储蓄有三种分配单元类型: 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视图查看

19463331韦德国际 3

二. 消除碎片方法

-------------sqlserver 2000 碎片解决--------------
-- 索引重建 充填因子80
dbcc dbreindex(PUB_StockCategory,'PK_PUB_StockCategory',80)
-- 索引重组
DBCC INDEXDEFRAG(dbname,PUB_StockCategory,'PK_PUB_StockCategory')

 

------------sqlserver 2005以上碎片解决--------
-- 重新组织表中单个索引 
 ALTER INDEX ix_pub_stock_2 ON dbo.PUB_Stock REORGANIZE  
 -- 重新组织表中的所有索引
 ALTER INDEX ALL ON dbo.PUB_Stock REORGANIZE  
 -- 重新生成表中单个索引 (重点:重建索引用)
 ALTER INDEX ix_pub_stock_2 ON dbo.PUB_Stock REBUILD
 -- 重新生成表中的所有索引 
 ALTER INDEX ALL  ON dbo.PUB_Stock  
 REBUILD  WITH(FILLFACTOR=80, SORT_IN_TEMPDB=ON ,STATISTICS_NORECOMPUTE = ON )

1.1 Filefactor参数

二. 碎片与填充因子案例

   下边分析在坐蓐情形下,对长日子三个表的ix_1索引实行剖释。

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

  19463331韦德国际 4

    通过上海教室能够理解到平均页密度是29.74%,约等于里面碎片太多,现四个页的数码存款和储蓄量才是例行贰个页的存款和储蓄量。扫描的页数是703页,涉及到了1玖拾伍个区。上面重新维护索引

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

  19463331韦德国际 5

     通过上海教室能够看见,扫描页数独有了248页(原本是703页)用了36区(原本是1九十五个区卡塔尔(قطر‎,现等于黄金年代页的莫过于数据是早先三页的总数, 查询将会减小了大量的I/O扫描。

  假诺再三的增加和删除改,最佳设置填充因子,暗中认可是0,也等于百分之百, 就算有新索引键排序后,挤入到一个已填满8060字节的页中时,就能够时有产生页拆分,产生碎片,这里本身动用图形分界面来设置填充因子为85%(最棒通过t-sql来安装,做运维自动爱惜卡塔尔(英语:State of Qatar),再重新营造下索引使设置生效。

  19463331韦德国际 6

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

19463331韦德国际 7

二. 索引元数据   

  元数据是对应每一个作用的生机勃勃对陈述与特性,这里的元数据是索引相关描述,后边查询解析还有恐怕会选取到那些元数据,具体领会使用能够先查看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');      

  如下图所示:19463331韦德国际 8

 

 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'

  19463331韦德国际 9

      2.3  根据标记符objectID,找到表上的多个分区,这里独有一个区。找到标记hobt_id(是该区里堆或B树布局的标志卡塔尔(英语:State of Qatar): 72057594038976512

select * from sys.partitions where object_id=5575058

     19463331韦德国际 10

  2.4  再根据hobt_id: 72057594038976512,找到页分配的单元, 这里现只展现了in_row_data  行内数据,消息富含了行内数据利用的总页数,已采纳页数,数据页数

select * from sys.allocation_units where container_id=72057594038976512

   19463331韦德国际 11

  使用Filefactor能够对索引的各类叶子分页存款和储蓄保留部分空中。对于聚集索引,叶等第蕴涵了数量,使用Filefactor来调控表的保留空间,通过预先流出的空间,防止了新的数码按梯次插入时,需腾出空位而开展分页分隔。
  Filefactor设置生效注意,独有在创制索引时才会依据已经存在的数码调整留下的空中山学院小,如里必要能够alter index重新建立索引天公地道置原本钦命的Filefactor值。
  在创设索引时,假诺不钦点Filefactor,就应用私下认可值0 也等于填充满,可通过sp_configure 来陈设全局实例。Filefactor也只就用于叶子级分页上。即使要在中游层调控索引分页,能够透过点名pad_index选料来达成.该选用会打招呼到目录上具备档次使用近似的Filefactor。Pad_index也只有索引在新建或重新建立时有用。

  三. 页分配单元演示

  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)

  当前风流倜傥行数据3000字节,小于大器晚成行8000字节,所以寄存为IN_ROW_DATA类型,新扩张三行共9000字节,大于了风度翩翩页8060字节,所以发生了data_pages:2页。通过3.1脚本查看

 19463331韦德国际 12

  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)

  当前大器晚成行数据为9000字节,大于少年老成行8000字节,所以分配了ROW_OVERFLOW_DATA类型,通过3.1脚本查看

19463331韦德国际 13

  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脚本查看

  19463331韦德国际 14

       最终简短计算下:在安顿表字段时,应当要与业务相符合,尽量制止建大型字段,爆发行溢出和LOB大型数据,进而变成页拆分,查询将急需跨页。原理是当黄金年代行超过8060字节时,那类型的值将被挪动到贰个名称为行溢出分配单元页中,在原始页上保留二个24字节指针,指向行外数据,那样就完了了行跨页。 寄存大型对象数据类型值时,在原始页上保存二个16字节指针,指向该特大型对象值。

1.2 Drop_existing 参数

 四  页单元文件类型

  大家通晓页文件重视是用来存款和储蓄表和目录的数目,其实还包蕴其他的储存, 在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)…

  删除或重新建立三个钦赐的目录作为单个事务来拍卖。该项在重新建立集中索引时丰裕有用,当删除二个聚焦索引时,sqlserver会重新建构每种非集中索引以便将书签从集中索引键改为瑞鹰ID。要是再新建可能重新建立聚焦索引,Sql server会再一次重城建总公司体的非集中索引,假设再新建或重新建立的聚焦索引键值相同,能够安装Drop_existing=ON。

 五.数据页的构造

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

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

select * from sys.system_internals_allocation_units where container_id=72057594038976512

  19463331韦德国际 15

   由于存款和储蓄关系,页码是以字节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 输出了错误信息,请与系统管理员联系。

  

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索引

19463331韦德国际 16

  (1卡塔尔(قطر‎Page Scanned-扫描页数:假诺您明白行的近乎尺寸和表或索引里的行数,那么你能够估量出索引里的页数。看看扫描页数,如果分明比你估量的页数要高,表达存在里面碎片。

  (2卡塔尔(قطر‎Extents Scanned-扫描扩大盘区数:用扫描页数除以8,四舍五入到下三个最高值。该值应该和DBCC SHOWCONTIG重临的围观扩张盘区数同样。借使DBCC SHOWCONTIG再次回到的数高,说明存在外界碎片。碎片的不得了程度依赖Yu Gang才来得的值比测度值高多少。 

  (3卡塔尔(英语:State of Qatar)Extent Switches-扩大盘区按钮数:该数应该对等扫描扩张盘区数减1。高了则印证有表面碎片。

  (4卡塔尔(قطر‎Avg. Pages per Extent-各样扩大盘区上的平均页数:该数是扫描页数除以扫描增添盘区数,平常是8。小于8表达有表面碎片。

  (5)Scan Density [Best Count:Actual Count]-扫描密度[最棒值:实际值]:DBCC SHOWCONTIG再次回到最实用的多少个百分比。那是增添盘区的最好值和实际值的比值。该比例应该尽量接近100%。低了则注解有表面碎片。

  (6卡塔尔(英语:State of Qatar)Logical Scan Fragmentation-逻辑扫描碎片:冬季页的比重。该比例应该在0%到10%之间,高了则说明有外界碎片。

  (7卡塔尔(قطر‎Extent Scan Fragmentation-扩充盘区扫描碎片:冬季扩展盘区在扫描索引叶级页中所占的比例。该比例应该是0%,高了则证实有外界碎片。

  (8卡塔尔(英语:State of Qatar)Avg. Bytes Free per Page-每页上的平均可用字节数:所扫描的页上的平均可用字节数。越高说明有在那之中碎片,不过在您用这些数字操纵是不是有内部碎片从前,应该思忖fill factor(填充因子)。

  (9卡塔尔(قطر‎Avg. Page Density (full卡塔尔国-平均页密度(完整):每页上的平均可用字节数的比重的相反数。低的比重表达有中间碎片。

  总计:(1卡塔尔逻辑扫描碎片:越低越好 (2卡塔尔(英语:State of Qatar)平均页密度:十分七左右最佳,低于`重新建立索引,(3卡塔尔(英语:State of Qatar)最棒计数与事实上计数相差超大重新建立索引。

版权声明:本文由19463331韦德国际发布于计算机网络,转载请注明出处:sql server 索引演讲体系六 碎片查看与应用方案