【问题标题】:Index Rebuild online在线重建索引
【发布时间】:2017-01-05 05:20:12
【问题描述】:

我在 SQL Server 2012 中有一个查询。在联机索引重建操作期间,如果我运行 SQL 查询以读取/写入数据到/从特定表“X”中读取/写入数据,同时可能正在执行重建操作?请建议。

【问题讨论】:

    标签: database sql-server-2012


    【解决方案1】:

    ...当一个用户正在重建聚集索引时,该用户 其他人可以继续更新和查询底层数据。

    参考Perform Index Operations Online

    这显然也适用于非聚集索引的在线重建。

    Guidelines for Online Index Operations

    另外,在线索引重建比离线索引慢得多,并且使用更多事务日志空间。

    在联机索引重建期间,构建阶段需要 IS(意图共享)和 S(共享)锁定以确保其他进程不会获取重建索引时对象上的任何排他锁。在最后阶段,架构修改 Sch-M 锁定。此锁会阻止对表的所有其他并发访问,但它只会在非常短的时间被删除,同时旧索引被删除并更新元数据。 p>

    【讨论】:

      猜你喜欢
      • 2011-01-06
      • 2014-04-06
      • 1970-01-01
      • 2016-02-04
      • 2015-07-07
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多