2

我已經插入了一百萬行到一個表(在SQL 2000),其中已經有數百萬行。 目標表上有索引。在新的插入之前它沒有被丟棄。 那麼,在每次新插入之後,我是否必須重建或重新組織目標表的索引? 或者SQL Server 2000在加載後已經執行了索引的自動排列?插入後需要重新組織還是重新創建索引?

的DBA/SQL專家,請reply..these指標混淆了我很多

回答

3

是你應該重新組織,因爲如此龐大的插入您的索引將被分割之後。

要檢查的百分比碎片,你可以這樣做: -

DBCC SHOWCONTIG 

select i.name,avg_fragmentation_in_percent 
from sys.dm_db_index_physical_stats(db_id(),null,null,null,null) 
S inner join sys.indexes I on s.object_id=I.object_id and s.index_id=i.index_id 

入住這site

指數應該是重建時,索引碎片比40大%。 當索引碎片在10%到012%之間時,索引應該重新組織。索引重建過程使用更多的CPU並鎖定數據庫資源 。 SQL Server開發版和企業版具有 選項ONLINE,它可以在重建索引時打開。在線 選項將在重建期間保持索引可用。

+2

爲什麼downvote? –

+0

它是否也適用於SQL 2000? – user1254579

+0

在哪裏可以找到碎片是否超過40%? – user1254579