如何在一个非常大的桌子上快速将一个字段复制到另一个字段?

问题描述 投票:1回答:1

我做得很简单

UPDATE table SET field2 = field1 

但我这样大约100 db,在每个数据库中,这个表至少有1百万条记录,最多15 M,而且所有这些DB都在同一个SQL SERVER实例上,所以为了避免杀死机器我我正在跑过一个数据库。

非常耗时

实际上只更新了9,499,130​​行花了42分钟。

我只是希望有一些事情要做,以加快它。

.. chunking ..?索引?我真的在寻求想法或最佳实践或其他什么。

如果需要,请使用注释向我询问信息。我很快就会回复。

NB:我甚至会接受单词“NO”的回答。

编辑:这不是一个课程练习。我只是维护一些不是我自己创造的东西

编辑2:我们正在进行此更新,因为100%的记录有不同的字段

编辑3:我已经确认没有在桌面上设置触发器。

编辑4:缓慢的原因是由于Windows 2008服务器VPS非常糟糕,磁盘带宽是我见过的最糟糕的!

sql sql-server-2008
1个回答
1
投票

如果在索引中使用field2,则应禁用该表上的索引。然后执行更新。完成后,重新启用索引。

© www.soinside.com 2019 - 2024. All rights reserved.