我使用SQL Server
并希望为每个索引分配适当的填充因子值。我知道每个索引的以下参数:
- 每个表的行数
- 每个索引发生的扫描量
- 每个索引发生的搜索量
- 每个索引发生的查找量。
- 每个索引发生的更新量。
我知道扫描、查找和查找将填充因子值提高到 100 并将填充因子更新为 0。但是我根据每个表的上述参数寻找一个计算正确填充因子选项的公式。
编辑
我使用下面的脚本来获取上述参数:
select SCHEMA_NAME(B.schema_id)+'.'+B.name+' \ '+C.name AS IndexName,
A.user_scans,
A.user_seeks,
A.user_lookups,
A.user_updates,
D.rowcnt,
C.fill_factor
from sys.dm_db_index_usage_stats A
INNER JOIN sys.objects B ON A.object_id = B.object_id
INNER JOIN sys.indexes C ON C.object_id = B.object_id AND C.index_id = A.index_id
INNER JOIN sys.sysindexes D ON D.id = B.object_id AND D.indid = A.index_id
编辑 2 我使用以下参考来获得填充因子选项的最佳值: