我正在学习 PAGE 结构,目前我被困在 NULL 位图上。
create table dbo.ro
(
ID int not null,
Col1 varchar(8000) null,
Col2 varchar(8000) null
);
insert into dbo.ro(ID, Col1, Col2) values
(1,replicate('a',8000),replicate('b',8000));
所以目前没有 NULL 值,让我们看看 DBCC 信息:
DBCC IND(test, 'ro', 1);
DBCC PAGE('test',1, 408,3);
所以我对以下部分感兴趣 30000800 01000000 03005002
- 30 - 比特A
- 00 - 位 B
- 0800 - F数据长度
- 01000000 - 固定数据 (ID = 1)
- 0300 - 列数
- 50 - 空位图
为什么是 50 而不是 00?记录中没有 NULL 值...