批量更新巨大表

问题描述

| 我有一个表,该表具有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事件探查器来检查在更新过程中是否有任何触发器在做某事。 您可以禁用索引。现在运行测试,最后将其还原。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...