批量更新巨大表

| 我有一个表,该表具有26列,其中包含数千条记录。 有没有一种方法可以批量更新此表? 现在,我只对需要更新的每个列进行标准更新。 例如。
update mytbl
set col1 = replace(....)

update mytbl
set col1 = col1 + \"xyz\"

update mytbl
set col2 = \"test...\"
我知道,对于每个记录,上面的语句将先更新所有记录的列,然后再转到下一个列。 我正在寻找“快速批量更新”,因为这花了太长时间。 谢谢     
已邀请:
您可以使用以下结构:
UPDATE myTable
SET col1 = REPLACE(col1.....),
    col2 = \'some value\'
    
1-几千条记录x 26个字段不是很大:) 2-使用ck建议的多字段更新语法,或将其插入可能更快的新表中:
SELECT (REPLACE(col1...)) as Col1,
       \'Some Value\' as Col2,
       ...
INTO MyNewTable
FROM MyOldTable
    
这些建议对于大量记录更有用,但无论如何可能会有所帮助: 1.按照ck的建议使用多字段更新 如果可能,请在更新过程中锁定表以进行独占访问。 禁用所有索引。更新完成后将其还原。     
请注意以下几点。 您可以使用SQL事件探查器来检查在更新过程中是否有任何触发器在做某事。 您可以禁用索引。现在运行测试,最后将其还原。     

要回复问题请先登录注册