事實: 填充因子僅在索引建立或重建時生效。SQL Server 儲存引擎不會持續維持頁面空閒空間符合填充因子。若強制維持,頁面一滿就必須分頁,填充因子便失去意義。
事實: 根據 Books Online:填充因子 0 和 100 在各方面完全相同,皆表示「頁面填滿」。
事實: 錯誤。填充因子 0/100 不會 在非葉節點保留空間。可透過以下腳本驗證:
CREATE DATABASE foo; GO USE foo; GO
CREATE TABLE t1 (c1 INT IDENTITY, c2 CHAR(1000) DEFAULT 'a');
CREATE CLUSTERED INDEX t1c1 ON t1(c1); GO
SET NOCOUNT ON; GO
INSERT INTO t1 DEFAULT VALUES; GO 10000
GO
ALTER INDEX t1c1 ON t1 REBUILD WITH (FILLFACTOR = 100); GO
-- 查看根頁與葉頁的 m_freeCnt(可用空間),皆為 10 bytes 左右,無額外保留。