我一直在网上搜索书籍和谷歌咒语,试图找出叶页中的物理填充因子(SQL Server 2000 和 2005)。
我知道它是创建索引时页面上剩余的可用空间量,但我没有发现该空间实际上是如何留下的:即,它是页面末尾的一大块,还是它通过该数据有几个差距。
例如,[只是为了简单起见],假设一个页面只能容纳 100 行。如果填充因子被声明为 75%,这是否意味着页面的第一个(或最后一个)75% 是数据,其余部分是空闲的,或者每四行空闲一次(即页面看起来像:数据,数据,数据,免费,数据,数据,数据,免费,...)。
总而言之,我正在掌握在将行插入具有聚集索引的表时发生的物理操作的确切情况,并且插入没有发生在行的末尾. 如果在一个页面中留下多个间隙,则插入的影响最小(至少在页面拆分之前),因为可能需要移动以容纳插入的行数被最小化。如果间隙在表中的一大块中,那么处理行的开销(至少在理论上)会显着增加。
如果有人知道 MSDN 参考,请指点我!我现在找不到(虽然仍在寻找)。从我读过的内容来看,这暗示着它有很多差距——但这似乎并没有明确说明。