首页 新闻 会员 周边

关于数据页算法的疑惑

0
悬赏园豆:50 [已解决问题] 解决于 2009-05-06 10:34

最近看了关于 SQL SERVER 数据库 数据页大小的算法

使用SQL 脚本测试  发现有疑惑!!

 

Code

 

正常情况下数据页算法  是页头 96字节  每行大小=20+80+两个状态位(2字节)+定长数据类型(2字节)+定长列数占用空间(2字节)+NULL视图(列数/8=1)+行偏移(2字节)=109字节

一页数据8k=8192字节  

用于数据行=8192-96=8096

所以一页能容纳8096/109=74.2(74行数据)

但实际上只能容纳71行数据!!!

希望高手解答一下啊

徐影的主页 徐影 | 初学一级 | 园豆:50
提问于:2009-05-05 17:31
< >
分享
最佳答案
0

SQL SERVER 有一个填充因子的概念,插入数据时,SQL SERVER 并不是把一个页的所有空间全部分配出去,而是根据填充因子保留一部分空间以便以后数据修改或者增加时使用。这就是你看到的现象。

eaglet | 专家六级 |园豆:17139 | 2009-05-06 07:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册