-- 创建聚集索引
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 表示每个叶级页上将有 20%
的空间保留为空,以便随着向基础表中添加数据而为扩展索引提供空间。

  填充因子的值是 1 到 100
之间的百分比,服务器范围的默认值为
0,这表示将完全填充叶级页。

 1.1
页拆分现象

   根据数据的查询和修改的比例,正确选择填充因子值,可提供足够的空间,以便随着向基础表中添加数据而扩展索引,从而降低页拆分的可能性。如果向已满的索引页添加新行(新行位置根据键排序规则,可以是页中任意行位置), 数据库引擎将把大约一半的行移到新页中,以便为该新行腾出空间。 这种重组称为页拆分。页拆分可为新记录腾出空间,但是执行页拆分可能需要花费一定的时间,此操作会消耗大量资源。 此外,它还可能造成碎片,从而导致 I/O
操作增加。 如果经常发生页拆分(可能过sys.dm_db_index_physical_stats
来查看页拆分情况),可通过使用新的或现有的填充因子值来重新生成索引,从而重新分发数据。

  填充值设置过低: 优点是
插入或修改时降低页的拆分次数。缺点是
会使索引需要更多的存储空间,并且会降低读取性能。

  填充值设置过高: 优点是
如果每一个索引页数据都全部填满,此时select效率最高。缺点是
插入或修改时需要移动后面所有页,效率低。

一 . dm_db_index_physical_stats 重要字段说明

  1.1 内部碎片:是avg_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
2005以上)。

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表下的索引

图片 1

  (1)
avg_fragmentation_in_percent(外部碎片也叫逻辑碎片):最重要的列,索引碎片百分比。
    val >10% and val<= 30% ————-索引重组(碎片整理)
alter index reorganize )
    val >30% ————————–索引重建 alter index
rebulid with (online=on)
    avg_fragmentation_in_percent:大规模的碎片(当碎片大于40%),可能要求索引重建
  (2) page_count:索引或数据页的总数。
  (3)
avg_page_space_used_in_percent(内部碎片):最重要列:页面平均使用率也叫存储空间的平均百分比,
值越高(以80%填充度为参考点) 页存储数据就越多,内部碎片越少。
  (4) avg_record_size_in_bytes:平均记录大小(字节)。
  (5) index_type_desc列:索引类型-聚集索引或者非聚集索引等。
  (6) record_count:总记录数,相当于行数。
  (7) fragment_count: 碎片数。

一. 索引概述

  关于介绍索引,有一种“文章太守,挥毫万字,一饮千钟”的豪迈感觉,因为索引需要讲的知识点太多。在每个关系型数据库里都会作为重点介绍,因为索引关系着数据库的整体性能,
它在数据库性能优化里占有重要地位。由于索引关联面广,我想通过一系列来把索引尽量阐述清楚,大概包括索引存储单元、堆介绍、聚集索引与非聚集索引介绍、索引参数(填充因子,包含列,约束等)、索引的使用,索引维护管理,索引统计信息、索引访问方法、索引存储与文件组、索引视图、索引数据修改内部机制、索引的分析调优排查等。尽量争取把索引的知识点讲到讲明白,借鉴一些资料和经验,整理输出理论,实践列出案例。

  索引可以提供了对数据的快速访问。就像是一本书的目录,一个好的目录可以极大的减少查询时间,索引使数据以一种特定的方式组织起来,使查询操作具有最佳性能。当表变得越来越大,索引就变得十分明显,可以利用索引快速满足where条件的数据行。某些情况还可以利用索引帮助对数据进行排序,组合,分组,筛选。

  在sqlserver里索引类型包括:堆,聚集索引,非聚集索引,列存储索引,特殊索引(如全文索引),其它索引如分区索引,过滤索引等。

  1.
 堆:堆不是索引,但讲索引时会讲到堆,两者有紧密联系,堆结构在数据插入,没有更改时是有存储顺序的,但一改动如修改删除,结构就会发生变化。没有聚集索引的表称为堆表。

  2.
聚集索引:对于聚集索引,数据实际上是按顺序存储的是B-Tree结构,B树是代表平衡的树,在寻找记录时都只需等量的资源,获取速度总是一致的,因为根索引到叶索引都具有相同的深度,
就像一本书把所有目录编排一样,一旦找到所要的数据,就完成了这次搜索,当查询使用到了索引时,sqlserver优化器可以快速定位,最少I/O次数获取所需的数据。

  3. 非聚集索引:非聚集索引也是B-Tree结构,在sql server 08可中多达999个。它是完全独立于数据本身结构的,也就是说它存储的是键值,有指针指向数据本身的位置。

  4. 列存储索引:它是sql server 2012开始引入的一种索引类型,,主要用于对大数据量的查询操作,与传统的索引行存储不同,通过列存储的压缩方式,在某些场景大大提高索引效率。

一.概述、

  ”流光容易把人抛,红了樱桃,绿了芭蕉“
转眼又年中了,感叹生命的有限,知识的无限。在后续讨论索引之前,先来了解下索引和表数据的内部结构,这一节将介绍页的存储,页分配单元类型,区的存储,
最后简要介绍下系统页存储类型,页中的数据结构。

1.1  页存储

  页是 sql server存储数据的基本单位,大小为8kb,
它存储的类型包括表,索引数据,分配位图,可用空间信息等,页也是可以读写的最小I/0单位。也就是如只需访问一行数据,也会把整个页加载到内存中。一页大小是8192个字节,由三块组成分为页头,数据行 ,
行偏移也叫页尾行指针。

  页头:有96个字节,包含的信息如PageID(文件号及页面编号),NextPage下一个页面的文件号及页面编号等。

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

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

图片 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视图查看

图片 3

1.1 Filefactor参数

二. 碎片与填充因子案例

   下面分析在生产环境下,对长时间一个表的ix_1索引进行分析。

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

  图片 4

    通过上图可以了解到平均页密度是29.74%,也就是内部碎片太多,现三个页的数据存储量才是正常一个页的存储量。扫描的页数是703页,涉及到了192个区。下面重新维护索引

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

  图片 5

     通过上图可以看到,扫描页数只有了248页(原来是703页)
用了36区(原来是192个区),现等于一页的实际数据是之前三页的总量,
查询将会减少了大量的I/O扫描。

  如果频繁的增删改,最好设置填充因子,默认是0,也就是100%,
如果有新索引键排序后,挤入到一个已填满8060字节的页中时,就会发生页拆分,产生碎片,这里我使用图形界面来设置填充因子为85%(最好通过t-sql来设置,做运维自动维护),再重建下索引使设置生效。

  图片 6

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

图片 7

二. 解决碎片方法

-------------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 )

二. 索引元数据   

  元数据是对应每个功能的一些描述与特性,这里的元数据是索引相关描述,后面查询分析还会使用到这些元数据,具体了解使用可以先查看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');      

  如下图所示:图片 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'

  图片 9

      2.3
 根据标识符objectID,找到表上的多个分区,这里只有一个区。找到标识hobt_id(是该区里堆或B树结构的标识):
72057594038976512

select * from sys.partitions where object_id=5575058

   
 图片 10

  2.4  再根据hobt_id: 72057594038976512,找到页分配的单元,
这里现只显示了in_row_data  行内数据,信息包括了行内数据使用的总页数,已使用页数,数据页数

select * from sys.allocation_units where container_id=72057594038976512

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

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

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

  图片 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会重建每个非聚集索引以便将书签从聚集索引键改为RID。如果再新建或者重建聚集索引,Sql
server会再一次重建全部的非聚集索引,如果再新建或重建的聚集索引键值相同,可以设置Drop_existing=ON。

 五.数据页的结构

  在sql
server里有这么多页文件类型,哪个页里是怎么存储的,存储了什么内容呢?下面来查看一个数据页存储的信息

  下面通过partition_id的标识符:72057594038976512
找到first_page 字段
第一页

select * from sys.system_internals_allocation_units where container_id=72057594038976512

  图片 15

   由于存储关系,页码是以字节16进制显示0x720000000100,这里需要倒序后就是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索引

图片 16

  (1)Page
Scanned-扫描页数:如果你知道行的近似尺寸和表或索引里的行数,那么你可以估计出索引里的页数。看看扫描页数,如果明显比你估计的页数要高,说明存在内部碎片。

  (2)Extents
Scanned-扫描扩展盘区数:用扫描页数除以8,四舍五入到下一个最高值。该值应该和DBCC
SHOWCONTIG返回的扫描扩展盘区数一致。如果DBCC
SHOWCONTIG返回的数高,说明存在外部碎片。碎片的严重程度依赖于刚才显示的值比估计值高多少。 

  (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-每页上的平均可用字节数:所扫描的页上的平均可用字节数。越高说明有内部碎片,不过在你用这个数字决定是否有内部碎片之前,应该考虑fill
factor(填充因子)。

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

  总结:(1)逻辑扫描碎片:越低越好
(2)平均页密度:80%左右最好,低于%60重建索引,(3)最佳计数与实际计数相差较大重建索引。

发表评论

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

网站地图xml地图