重新生成索引和重新组织索引

Posted YanJinrong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重新生成索引和重新组织索引相关的知识,希望对你有一定的参考价值。

重新生成和重新组织索引区别 

1.重新生成索引:
  ALTER INDEX 索引名 on 表名 REBUILD

     重新生成索引将删除该索引并创建一个新索引。此过程中将删除碎片,通过使用指定的或现有的填充因子设置压缩页来回收磁盘空间,并在连续页中对索引行重新排序(根据需要分配新页)。这样可以减少获取所请求数据所需的页读取数,从而提高磁盘性能。


2.重新组织索引:
  ALTER INDEX 索引名 on 表名 reorganize
    重新组织索引是通过对叶页进行物理重新排序,使其与叶节点的逻辑顺序(从左到右)相匹配,从而对表或视图的聚集索引和非聚集索引的叶级别进行碎片整理。使页有序可以提高索引扫描的性能。索引在分配给它的现有页内重新组织,而不会分配新页。如果索引跨多个文件,将一次重新组织一个文件,不会在文件之间迁移页。
重新组织还会压缩索引页。如果还有可用的磁盘空间,将删除此压缩过程中生成的所有空页。压缩基于 sys.indexes 目录视图中的填充因子值。
重新组织进程使用最少的系统资源。而且,重新组织是自动联机执行的。该进程不持有长期阻塞锁,所以不会阻止运行查询或更新。
索引碎片不太多时,可以重新组织索引。请参阅上面的表,了解有关碎片的指导原则。不过,如果索引碎片非常多,重新生成索引则可以获得更好的结果。

以上是关于重新生成索引和重新组织索引的主要内容,如果未能解决你的问题,请参考以下文章

10-07重新生成和组织索引

id索引更改怎么重新抽取索引内容

SQL Server 索引碎片产生原理重建索引和重新组织索引

SQL Server索引的创建与维护

SQL Server索引的创建与维护

在具有 350 亿行的列存储索引表上重新创建索引