sql-server – 更改Identity列上的填充因子是否会影响合并复制?

我在数据库中确定了多个标识列,设置为80或90%.我希望将它们全部设置为100%.

有谁知道使用合并复制更改标识列上的填充因子是否会导致任何问题?

最佳答案
FillFactor仅在通过使用FillFactor Setting保留空间百分比来重建索引时才会显示.

通过合并复制,可以通过触发器跟踪两个源的更改,并使它们保持同步.

当你将fillfactor设置为80%时,20%的空间仍然可以用于插入.如果你设置为100%,你不会留下任何空间,你有可能在日志增长方面进行页面拆分. .so有可能你的插入速度会变慢.

但是使用标识列,所有值都将增加,因此它们将在逻辑上添加到页面末尾.因此,设置值0或100应该可以提高性能.但填充因子仅影响叶级页面以及更新后的内容任何可能导致大小超过页面总长度的行.这是MSDN在这种情况下所说的内容

A nonzero fill factor other than 0 or 100 can be good for performance if the new data is evenly distributed throughout the table. However, if all the data is added to the end of the table, the empty space in the index pages will not be filled. For example, if the index key column is an IDENTITY column, the key for new rows is always increasing and the index rows are logically added to the end of the index. If existing rows will be updated with data that lengthens the size of the rows, use a fill factor of less than 100. The extra bytes on each page will help to minimize page splits caused by extra length in the rows.

设置一个好的fillFactor值取决于你的数据库的使用方式.Heavy Inserts(更多应该是免费的,fillfactor值应该更少,但选择将是一些代价高昂的东西).Less插入(保留填充因子在某个高值)

简单的搜索产生了很多results.但是你应该先测试它们并使它适应你的场景

转载注明原文:sql-server – 更改Identity列上的填充因子是否会影响合并复制? - 代码日志