我有一个启用了 RCSI 的数据库,从我记事起,我就一直在在线重建索引 (SQL 2014 Enterprise)。我的理解是,如果我们要离线重建索引,我们将丢失那些额外的 14 个字节。然而,只要我们继续在线重建或重组,我们就会保留每行 14 个字节。那是对的吗?
我有一个启用了 RCSI 的数据库,从我记事起,我就一直在在线重建索引 (SQL 2014 Enterprise)。我的理解是,如果我们要离线重建索引,我们将丢失那些额外的 14 个字节。然而,只要我们继续在线重建或重组,我们就会保留每行 14 个字节。那是对的吗?
这是真实的。
REBUILD WITH (ONLINE = ON)
并将REORGANIZE
保留 14 个字节。正常REBUILD
会清除它。如果禁用 RCSI,则 14 字节版本标记将被您提到的三个操作中的任何一个清除:
REBUILD
REBUILD WITH (ONLINE = ON)
REORGANIZE
为了您将来的参考,自己测试这个并不难。只需创建一个数据库和表,然后尝试不同的操作,每次检查行大小。
结果呢?正如预期的那样: