请问在建立了聚集索引的表内,数据页中的数据行是如何存储的
请问在建立了聚集索引的表内,数据页中的数据行是如何存储的?
行和行之间是按照其聚集索引的之间的顺序存储的吗?
如果是的话?为什么使用dbcc page命令查看的offset table信息
中没行之间的偏移量不是顺序增长呢?
例如:
create table table5
(
col1 varchar(5) primary key
)
insert into table5 values('b')
insert into table5 values('f')
insert into table5 values('c')
insert into table5 values('a')
得到的OFFSET TABLE信息为:
OFFSET TABLE:
-------------
Row - Offset
3 (0x3) - 108 (0x6c)
2 (0x2) - 120 (0x78)
1 (0x1) - 96 (0x60)
0 (0x0) - 132 (0x84)
虽然将offset table内的信息对应到Data中可以看到数据的确是按照字母顺序进行的排序,但是为什么偏移量却没有进行排序呢?而是保持了数据插入时的顺序,这是为什么?
谢谢