SQLServer 表 索引 在页中的存储
来源:互联网 发布:淘宝图片怎么拍摄技巧 编辑:程序博客网 时间:2024/05/18 00:17
select * from sys.objects a where a.object_id=OBJECT_ID('aaaa');
select * from sys.partitions b where b.object_id=OBJECT_ID('aaaa'); --index_id=1为聚集索引 index_id=0为堆表 index_id>1为非聚集索引
select * from sys.allocation_units c where c.container_id=72057594042187776; -- 分配单元页
select * from sys.system_internals_allocation_units d where d.container_id=72057594042187776; -- 具体分配单元页
--first_iam_page-->0x 50 00 00 00 01 00-->0x 0001 00000050-->0001=1(文件组编号) 0x00000050=80(页码)
--root_page--> 0x 59 00 00 00 01 00-->0x 0001 00000059-->0001=1(文件组编号) 0x00000059=89(页码)
--first_page--> 0x 78 50 00 00 01 00-->0x 0001 00005078-->0001=1(文件组编号) 0x00005078=20600(页码)
--由此查看出来的信息与 dbcc ind(zws,aaaa,1) 查看出来的信息一致
select * from sys.indexes a where a.object_id=OBJECT_ID('aaaa'); -- index_id=1为聚集索引 index_id=0为堆表 index_id>1为非聚集索引
select * from sys.dm_db_index_physical_stats(DB_ID('zws'),object_id('dbo.aaaa'),1,null,'detailed'); -- 查看B树层数。
dbcc ind(zws,aaaa,1); --查看索引的详细信息。
dbcc page('zws',1,89,3); --由根节点开始,根据 childpageid 和 索引所在列a的值开始下一层的查找。
dbcc page('zws',1,18720,3); -- 中间层,根据 childpageid 和 索引所在列a的值开始下一层的查找。
dbcc traceon(3604); --打开跟踪标记
Go
dbcc page('zws',1,20602,3); --叶子节点
-- 前一页:m_prevPage = (1:20602) 后一页:m_nextPage = (1:20604) 开始地址:Offset 0x4
--Record Type = PRIMARY_RECORD(主记录) Record Type = INDEX_RECORD(索引记录) Record Type = GHOST_DATA_RECORD(虚影,sqlserver数据库后台有一个进程会定期清除标记为虚影的数据)
go
dbcc traceoff(3604); --关闭跟踪标记
Go
select * from sys.partitions b where b.object_id=OBJECT_ID('aaaa'); --index_id=1为聚集索引 index_id=0为堆表 index_id>1为非聚集索引
select * from sys.allocation_units c where c.container_id=72057594042187776; -- 分配单元页
select * from sys.system_internals_allocation_units d where d.container_id=72057594042187776; -- 具体分配单元页
--first_iam_page-->0x 50 00 00 00 01 00-->0x 0001 00000050-->0001=1(文件组编号) 0x00000050=80(页码)
--root_page--> 0x 59 00 00 00 01 00-->0x 0001 00000059-->0001=1(文件组编号) 0x00000059=89(页码)
--first_page--> 0x 78 50 00 00 01 00-->0x 0001 00005078-->0001=1(文件组编号) 0x00005078=20600(页码)
--由此查看出来的信息与 dbcc ind(zws,aaaa,1) 查看出来的信息一致
select * from sys.indexes a where a.object_id=OBJECT_ID('aaaa'); -- index_id=1为聚集索引 index_id=0为堆表 index_id>1为非聚集索引
select * from sys.dm_db_index_physical_stats(DB_ID('zws'),object_id('dbo.aaaa'),1,null,'detailed'); -- 查看B树层数。
dbcc ind(zws,aaaa,1); --查看索引的详细信息。
dbcc page('zws',1,89,3); --由根节点开始,根据 childpageid 和 索引所在列a的值开始下一层的查找。
dbcc page('zws',1,18720,3); -- 中间层,根据 childpageid 和 索引所在列a的值开始下一层的查找。
dbcc traceon(3604); --打开跟踪标记
Go
dbcc page('zws',1,20602,3); --叶子节点
-- 前一页:m_prevPage = (1:20602) 后一页:m_nextPage = (1:20604) 开始地址:Offset 0x4
--Record Type = PRIMARY_RECORD(主记录) Record Type = INDEX_RECORD(索引记录) Record Type = GHOST_DATA_RECORD(虚影,sqlserver数据库后台有一个进程会定期清除标记为虚影的数据)
go
dbcc traceoff(3604); --关闭跟踪标记
Go
阅读全文
0 0
- SQLServer 表 索引 在页中的存储
- NULL在SQLServer数据库数据文件中的存储
- Oracle的索引在数据库中的存储
- sqlserver数据导入mysql:给sqlserver中的表创建索引
- B-Tree索引在sqlserver和mysql中的应用
- B-Tree索引在sqlserver和mysql中的应用
- SQLServer 2012 列存储索引
- sqlserver与存储过程在java中的调用
- NULL在SQLServer数据库日志文件中的存储
- NULL在SQLServer数据库日志文件中的存储
- sqlserver 中在存储过程中的嵌套事物
- 使用sqlserver中的全文索引
- SQLServer中的索引碎片处理
- SQLServer中的索引碎片处理
- B-tree在外部存储和数据库索引中的应用
- sqlserver重建所有索引存储过程
- sqlserver重建所有索引的存储过程
- SQLServer 深入解析索引存储(一)
- 高效的php过滤敏感词方法
- java 泛型详细解释
- poj 2559
- Python2.*与Python3.*共存问题
- 时间过渡制作
- SQLServer 表 索引 在页中的存储
- YS-AndroidStudio不能打开欢迎界面
- Hadoop深入学习:Combiner
- POJ 3435 Sudoku Checker
- POJ 1177-Picture(线段树+离散化+扫描线)
- rman自动控制文件备份的恢复
- angular跨域的ajax--json数据请求
- poj 1979
- 数据结构实验之栈四:括号匹配(栈)