设置 MAX_FILL_DATA_PAGES 值为 1 来允许在有变长行的表中每页插入更多的行。该设置可减少磁盘空间,更有效地利用缓冲池,减少表扫描次数。
如果启用 MAX_FILL_DATA_PAGES,则服务器将添加一个新行到最近更改的带着现有行的页,如果添加该行留下了至少 10% 的空闲页用于在此页中所有行的未来扩展。如果未设置 MAX_FILL_DATA_PAGES,则服务器仅当页上有足够空间时才添加行,来允许新行增长到其最大长度。
启用 MAX_FILL_DATA_PAGES 并允许每页更多的变长行可能带来问题,就是服务器会以不同的物理顺序存储这些行。而且,当页填满时,对一行中可变长列的更新可能导致行扩展,以致于在页上不再完全适合。这导致服务器将该行分裂到两个页上,增加该行的访问时间。
要利用这个设置,随着进一步插入,必须重新加载带可变长行的现有的表或必须更改现有的页。