Sql-Server
如何將索引填充因子設置回伺服器預設值?
我有一些在我的開發伺服器上使用的索引。我使用以下命令設置這些索引的填充因子:
alter index all on dbo.Table rebuild with (fillfactor=80)
這會設置並重建 dbo.Table 上的所有索引。現在我想要將填充因子設置回伺服器的預設值。IE,在伺服器級別,所有索引的填充因子都設置為 95。我希望索引再次使用伺服器預設值,而不僅僅是將填充因子設置為 95。
我想這樣做的原因是,如果我編寫此索引並將其移動到新伺服器,它將使用該伺服器的預設填充因子而不是指定的 95。
通過測試,似乎要回到您需要刪除並重新創建它的索引的預設填充因子。當您執行 時
ALTER INDEX ... REBUILD
,任何未指定的參數將在索引的元數據中保持不變,除非在ALTER INDEX
命令中明確更改。drop index IX_YourIndex on YourTable go create index IX_YourIndex on YourTable(YourKeyColumn) go
要驗證這一點:
select name, fill_factor from testdb.sys.indexes where name = 'IX_YourIndex'
fill_factor
應該設置為0
表示它正在使用實例的預設值。 (注:0為預設值,即使實例配置的填充因子設置為95)