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

转载 2015年11月18日 00:34:58
重新生成和重新组织索引区别 

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

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


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

相关文章推荐

重新组织和重新生成索引

http://msdn.microsoft.com/zh-cn/library/ms189858.aspx SQL Server 2008 R2 其他版本 ...

SQL索引重建

前2周出现一件怪异的事情。一个新版本下发到生产环境之后,某个岗位的某个页面展示异常的慢,展示达到了20秒,提交一笔页面则达到了10秒......        问题都是这样,当你过后觉得十分十分十分的...

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

开始:   在上周,客户反映一个系统问题,当处理大量数据的时候,出现网络超时。后来,我们跟踪测试,发现是由于索引碎片多而引起的网络超时。 解决方法,自然是重新组织和重新生成索引。在这里,我写...

重构—改善既有代码的设计008:重新组织数据(Organizing Data)

重构—改善既有代码的设计008:重新组织数据(Organizing Data)

重构—改善既有代码的设计006:重新组织你的函数(Composing Methods)

重构—改善既有代码的设计006:重新组织你的函数(Composing Methods)

重构-改善既有代码的设计:重新组织函数的九种方法(四)

函数过长或者逻辑太混乱,重新组织和整理函数的代码,使之更合理进行封装。 1. Extract Method 提炼函数 提炼函数:(由复杂的函数提炼出独立的函数或者说大函数分解成由小...
  • hguisu
  • hguisu
  • 2012-05-24 17:18
  • 5363

重构:一、重新组织方法

重构: 在编写完代码后,仔细再去检查,会发现有很多地方都有改进。代码的重构(整理)可以为后期维护带来很好的选择。每个函数的粒度应该尽可能的比较小,这样复用代码重写代码,效率才会偏高。

重新组织数据之十五 :Replace Type Code with State/Strategy(以State/strategy 取代型别码)

你有一个type code ,它会影响class 的行为,但你无法使用subclassing。 以state object (专门用来描述状态的对象)取代type code 。 动...

重新组织你的函数之一 :Extract Method(提炼函数)

你有一段代码可以被组织在一起并独立出来。 将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。 void printOwing(double amount) {      printB...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)