大型数据库——索引存储结构
Posted 小姚同学要继续加油呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大型数据库——索引存储结构相关的知识,希望对你有一定的参考价值。
索引存储结构:
请创建一个包含一个表的数据库,该表至少2列。在此表中插入至少5行数据。在该表中创建一个聚集索引和非聚集索引,通过查询SYSINDEXES系统表相关信息和DBCC命令,显示你的数据表存储页和非聚集索引的存储页(非聚集索引用PAGE命令查看存储页时,用3号查看方式)。附上作业过程中使用的所有命令代码、截图、相关文字说明、作业心得体会等。
创建数据库和表并插入数据:
在该表中创建一个聚集索引和非聚集索引:
CREATE UNIQUE CLUSTERED INDEX IX_ID ON TABLE_wuhaoyang(ID_wuhaoyang)
GO
CREATE UNIQUE NONCLUSTERED INDEX IX_NAME ON TABLE_wuhaoyang(NAME_wuhaoyang)
GO
查询SYSINDEXES系统表:
标准查询存储页面格式:
DBCC PAGE(dbname,file id, page id,方式)
indid=1,说明为聚集索引;indid≥2,说明为非聚集索引。
先看聚集索引的first
信息,最后4位对应的就是file id
,也就是这里的0x500000000100
,字节交换后为0001
,转换为十进制为1
,所以这里的file id
就是1
。前面4位对应的是page id
,page id
对应的是0x500000000100
,字节交换后为0050
,转换为十进制为80
,所以这里的page id
就是80
(DBCC接收的参数都是十进制数)。
显示表的聚集索引页面如下:
同理,看非聚集索引的first
信息,最后4位对应的就是file id
,也就是这里的0x6D0000000100
,字节交换后为0001
,转换为十进制为1
,所以这里的file id就是1
。page id
对应的是0x6D0000000100
,字节交换后为006D
,转换为十进制为109
,所以这里的page id
就是109
(DBCC接收的参数都是十进制数)。
1、下图中EMPLOYEE表存储的页码是(36)(请直接填写十进制数字)。正确答案: 0024H->36D
2、下图中EMPLOYEE表中聚集索引根节点存储的页码是(34)(请直接填写十进制数字)。正确答案: 0022H->34D
3、下图中EMPLOYEE表中非聚集索引根节点存储的页码是(56)(请直接填写十进制数字)。
正确答案: 0038H->56D
以上是关于大型数据库——索引存储结构的主要内容,如果未能解决你的问题,请参考以下文章