插入后需要重组或重新创建索引吗?

时间:2013-08-19 10:55:11

标签: sql-server sql-server-2005 sql-server-2000 database-administration

我已经在一个表中插入了一百万行(在sql 2000上),其中已有几百万行。 目标表上有索引。它在新插入之前没有丢弃。 那么,每次新插入后,我是否必须重建或重新组织目标表的索引? 或者SQL Server 2000在加载后是否已经执行了索引的自动排列

Dbas / Sql专家请回复..这些索引让我很困惑

1 个答案:

答案 0 :(得分: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%到10%之间时,应重新组织索引   40%。索引重建过程使用更多的CPU并锁定数据库   资源。 SQL Server开发版和企业版有   选项ONLINE,可在重建索引时打开。线上   选项将在重建期间保持索引可用。