SQLServer2012 (非)聚集索引存储探究
时间:2022-03-14 01:12
SQLServer2012 (非)聚集索引存储探究
Author:zfive5(zidong)
Email:zfive5@163.com
引子
由于写了前一篇文字《SQLServer2012 表IAM存储结构探究》,所有促成了写这一篇的缘由,其实之前也断断续续研究过,记得第一次对索引有感觉是2010年解决一客户查账时的效率问题,从5分钟到5秒的效率提升,这个之后也一直成为面试人时必问之题。
现在大学教育应该让学生学理论时对低效和高效有一个强烈的感官冲击,而不是死记硬背。
记得当时学校里讲的空间域和频域转化的傅里叶(虽然记不住具体算法,但中间的原理还是知道个80%)。
工作时间久了,真想在回学校再深造一下了。
最后还是想大家推荐《深入解析SQLServer2008》。
正文
通过下面创建实例表和索引
PAGE: (1:1627873)
BUFFER:
BUF @0x000000046E033540
bpage = 0x0000000463C08000 bhash = 0x0000000000000000 bpageno = (1:1627873) bdbid = 7 breferences = 0 bcputicks = 0 bsampleCount = 0 bUse1 = 22473 bstat = 0x9 blog = 0x1c9a bnext = 0x0000000000000000
PAGE HEADER:
Page @0x0000000463C08000
m_pageId = (1:1627873) m_headerVersion = 1 m_type = 1 m_typeFlagBits = 0x0 m_level = 0 m_flagBits = 0x200 m_objId (AllocUnitId.idObj) = 99 m_indexId (AllocUnitId.idInd) = 256 Metadata: AllocUnitId = 72057594044416000 Metadata: PartitionId = 72057594040090624 Metadata: IndexId = 1 Metadata: ObjectId = 245575913 m_prevPage = (1:1627872) m_nextPage = (0:0) pminlen = 508 m_slotCnt = 4 m_freeCnt = 6020 m_freeData = 2164 m_reservedCnt = 0 m_lsn = (2320:18122:23) m_xactReserved = 0 m_xdesId = (0:0) m_ghostRecCnt = 0 m_tornBits = 300036918 DB Frag ID = 1
Allocation Status
GAM (1:1533696) = ALLOCATED SGAM (1:1533697) = NOT ALLOCATED PFS (1:1625688) = 0x40 ALLOCATED 0_PCT_FULL DIFF (1:1533702) = CHANGED ML (1:1533703) = NOT MIN_LOGGED
DATA:
Slot 0, Offset 0x60, Length 517, DumpStyle BYTE
Record Type = PRIMARY_RECORD Record Attributes = NULL_BITMAP VARIABLE_COLUMNS Record Size = 517 Memory Dump @0x00000000024EA060
0000000000000000: 3000fc01 f0010000 41414141 41414141 41414141 0.......AAAAAAAAAAAA 0000000000000014: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000028: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000003C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000050: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000064: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000078: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000008C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000A0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000B4: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000C8: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000DC: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000F0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000104: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000118: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000012C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000140: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000154: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000168: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000017C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000190: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001A4: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001B8: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001CC: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001E0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001F4: 41414141 41414141 03000001 00050243 00 AAAAAAAA.......C.
Slot 1, Offset 0x265, Length 517, DumpStyle BYTE
Record Type = PRIMARY_RECORD Record Attributes = NULL_BITMAP VARIABLE_COLUMNS Record Size = 517 Memory Dump @0x00000000024EA265
0000000000000000: 3000fc01 f1010000 41414141 41414141 41414141 0.......AAAAAAAAAAAA 0000000000000014: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000028: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000003C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000050: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000064: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000078: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000008C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000A0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000B4: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000C8: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000DC: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000F0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000104: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000118: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000012C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000140: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000154: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000168: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000017C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000190: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001A4: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001B8: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001CC: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001E0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001F4: 41414141 41414141 03000001 00050243 00 AAAAAAAA.......C.
Slot 2, Offset 0x46a, Length 517, DumpStyle BYTE
Record Type = PRIMARY_RECORD Record Attributes = NULL_BITMAP VARIABLE_COLUMNS Record Size = 517 Memory Dump @0x00000000024EA46A
0000000000000000: 3000fc01 f2010000 41414141 41414141 41414141 0.......AAAAAAAAAAAA 0000000000000014: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000028: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000003C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000050: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000064: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000078: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000008C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000A0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000B4: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000C8: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000DC: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000F0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000104: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000118: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000012C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000140: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000154: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000168: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000017C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000190: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001A4: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001B8: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001CC: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001E0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001F4: 41414141 41414141 03000001 00050243 00 AAAAAAAA.......C.
Slot 3, Offset 0x66f, Length 517, DumpStyle BYTE
Record Type = PRIMARY_RECORD Record Attributes = NULL_BITMAP VARIABLE_COLUMNS Record Size = 517 Memory Dump @0x00000000024EA66F
0000000000000000: 3000fc01 f3010000 41414141 41414141 41414141 0.......AAAAAAAAAAAA 0000000000000014: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000028: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000003C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000050: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000064: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000078: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000008C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000A0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000B4: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000C8: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000DC: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000000F0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000104: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000118: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000012C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000140: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000154: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000168: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 000000000000017C: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 0000000000000190: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001A4: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001B8: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001CC: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001E0: 41414141 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAAAAAA 00000000000001F4: 41414141 41414141 03000001 00050243 00 AAAAAAAA.......C.
OFFSET TABLE:
Row - Offset 3 (0x3) - 1647 (0x66f) 2 (0x2) - 1130 (0x46a) 1 (0x1) - 613 (0x265) 0 (0x0) - 96 (0x60)
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
|
没有查找到数据
相关推荐
- xshell怎么连接数据库
- MySQL数据库设计规范(仅供参考)
- SQLServer字符串查找(判断字符串是否含数字或字母)
- MySQL源码安装5.7-CentOS7
- 数据库常用架构和同步工作原理
- Apache HBase 1.7.1 发布,分布式数据库
- SQL Server 数据库分离和附加
- sqlSugar 简单封装及使用案例
- 【MySQL】-索引类型
- mysql的数据类型详解