USE TEST GO CREATE TABLE DBO.[Table_DateType_tinyint] ( [F_D_TINYINT] tinyint not null ) ON [PRIMARY] GO --录入语句 --向测试表中录入256条数据 declare @i tinyint select @i=0 set nocount on while (@i<=255) begin insert into TEST.dbo.Table_DateType_tinyint values(@i); if (@i<=254) select @i=@i+1 else break; end set nocount off select * from TEST.dbo.Table_DateType_tinyint --查询表的页分布 DBCC TRACEON(3604) GO DBCC EXTENTINFO(TEST,Table_DateType_tinyint) GO --查询数据页内容 DBCC TRACEON(3604) GO DBCC PAGE(TEST,1,155,1) --tinyint 9 DBCC PAGE(TEST,) --分析 /*--------------------------------------------- tinyint 数据类型存储的数据本身尽管仅需要1个字节,但是当作为表列存储时需要9个字节来存储 这九个字节中 1个字节:为数据本身 1个字节:由于没有建立索引,表的数据采用堆存储方式,空余量 3个字节:空位图使用,用于表示列的为空性,计算方法为2+(列的总数+7)/8,向上取整数值,这里1个表列,所以计算结果为3 4个字节:用于存储数据行的列标题 */ --上述只是例子,任务类型均可以参照。