Sql Server 索引重建和索引重组的区别和操作方法

 

alter index reorganize重新组织索引使用的系统资源最少,并且是联机操作。也就是说,不保留长期阻塞性表锁,且对基础表的查询或更新可以在ALTER INDEX REORGANIZE事务处理期间继续进行。

alter index rebuild重新生成索引会删除并重新创建索引。这可以联机完成,也可以脱机完成,重新生成索引联机执行(ON),则索引操作期间可以用此表中的数据进行查询和修改数据。默认为OFF。

 

重组表上的所有索引

alter index all on table_name reorganize

重组表上的某个索引

alter index index_name on table_name reorganize

 

重建表上的所有索引

alter index all on table_name rebuild with (online=on)

重建表上的某个索引

alter index index_name on table_name rebuild with (online=on)

 

总结

1、重组索引是在线重整Index,不会对Table锁定,重新生成索引会对Table进行锁定。

2、重组索引的100%进度可以通过sys.dm_exec_requests的字段percent_complete来查看。

3、新版本的Sql Server 建议使用ALTER INDEX语句来重建或重组索引,已经不推荐使用DBCC INDEXDEFRAG、DBCC DBREINDEX。

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花