gpt4 book ai didi

sql - SQL Server 中离线索引重建和在线索引重建有什么区别?

转载 作者:行者123 更新时间:2023-12-03 06:05:36 25 4
gpt4 key购买 nike

重建索引时,有一个选项:ONLINE=OFFONLINE=ON。我知道,当 ONLINE 模式打开时,它会复制索引,切换新查询来利用它,然后重建原始索引,使用版本控制跟踪更改(如果我是这样,请纠正我)错误)。

但是 SQL 在离线模式下会做什么呢?

最佳答案

在 ONLINE 模式下,会构建新索引,同时可以读取和写入旧索引。旧索引上的任何更新也将应用于新索引。反物质列用于跟踪更新和重建之间可能的冲突(即删除尚未复制的行)。请参阅Online Index Operations 。该过程完成后,表将被锁定一段时间,新索引将替换旧索引。如果索引包含LOB列,则SQL Server 2005/2008/R2不支持ONLINE操作。

在离线模式下,表会预先锁定以进行任何读取或写入,然后从旧索引构建新索引,同时持有表上的锁。重建索引时不允许对表进行读或写操作。只有当操作完成后,表上的锁才会被释放,并再次允许读写。

请注意,在 SQL Server 2012 中,取消了对 LOB 的限制,请参阅 Online Index Operations for indexes containing LOB columns .

关于sql - SQL Server 中离线索引重建和在线索引重建有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6309614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com