SQL Server的Enterprise Edition是支持联机索引重建的。那么联机索引重建是怎么工作的以及对我们的查询有什么影响呢?

既然是联机,SQL Server保持了现有索引对于用户的可用,也就意味着它还不会去修改现有索引以及它相关联的统计数据。那么可以猜想下它的做法其实和SQL Server下Switch Partition就有相似的做法了 -- 最小化数据离线时间。它应该是先生成索引和统计数据,这个时候新的索引和统计数据肯定都分配好了object_id,内部肯定是已经可见了,只是对于用户外部访问还是不可见的罢了。在索引重建结束和新的统计数据建立完成后,申请表的Sch-X锁把现有的索引指向新的索引。完成后新的索引和统计数据就可见了。然后它再对所有引用到这张表的查询进行重编译。

那么索引重组呢?索引重组做的工作是把索引数据的尾端数据尽量往前面空的页面填充,它并不会像索引重建那样更新统计数据,也就不会导致查询重编译了。

至于说这一切和隔离模式有没有关系。隔离模式只和数据页面的访问相关,怎么可能和统计数据有关呢?

参考:

Will SQL Server use ‘incomplete’ or ‘dirty’ statistics during online index rebuild?

最新文章

  1. HTML5 网络拓扑图性能优化
  2. ORACLE 11G EXPDP交互模式 interactive mode
  3. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
  4. jQuery获取Select选中的Text和Value
  5. 关于linux asp.net MVC网站中 httpHandlers配置无效的处理方法
  6. maven skip tests
  7. Kafka的Producer和Consumer源码学习
  8. MetaData元数据
  9. [置顶] 关于UBUNTU 12.04, 在THINKPAD E430C上WIFI连接不上的问题
  10. 在2002年的老电脑上安装Debian
  11. Android Studio 提示Error running app: No Android facet found for app
  12. HTML5和CSS3
  13. HTML学习笔记:1.基础概念
  14. String字符串创建与存储机制
  15. vs 2015安装包
  16. mongodb常用查询语句
  17. protel dxp 2004安装与破解
  18. springboot+cloud 学习(四)Zuul整合Swagger2
  19. 转载:(原创)odoo11配置邮件功能的那些事儿
  20. Nginx 入门指南

热门文章

  1. 《架构设计之[CAP定理]》读后感
  2. node.js修改全局安装文件路径
  3. myEclipse修改字体大小
  4. java实现多线程的4种方式
  5. oracle mybatis批量插入,无匹配找默认
  6. 编译impala2.0.0
  7. resteay上传单个文件/多个文件到本地
  8. Centos 从零开始 (三)
  9. PHP学习5——异常处理
  10. Git错误解决(windows版本下的Git Shell)