sql 服务器 - 分区表:通过更新分区键在分区之间移动行的成本有多大



使用 SQL Server 2014 分区表;

根据下面的帖子:

是否可以通过更新分区键在分区之间移动行?

我知道我们可以通过更改分区键在分区之间移动行。

通过更新分区键在分区之间移动行的性能开销是多少?是否相当于有两个表,从第一个表中删除一行并将其插入第二个表?还是在分区内更有效率?

指向在线文章的链接将非常有帮助。我找不到这个问题的正确谷歌搜索关键字。希望这篇文章能帮助其他人。

这将是前者。

如果更新分区键以外的任何其他列,则记录将保留在同一存储桶中,列值将更改,事务日志将获取删除/插入 (=update) 以跟踪更改。

如果更新分区键,则该记录将不再映射到该分区。 因此,它将删除旧记录并插入新记录(根据分区规则插入新分区)。 请注意,此更改的事务日志条目需要写入整个记录,因为它在一个分区中真正删除,然后完全重写到另一个分区中,而不仅仅是一列更改。

最新更新