我已经尝试在一个大约有 25k 行的表上运行以下 UPDATE 并且它已经运行了超过 24 小时并且它还没有完成。我只需要运行一次此更新,因此时间不是太大的问题,但任何长时间的操作都不适合我。UPDATE 语句确实有效,因为我尝试仅在几条记录上单独运行它,但是当您将它应用于整个表时,它就会陷入困境。
我确定 LIKE 会导致速度变慢,但我不知道如何使它更简单或更快,任何线索将不胜感激:
UPDATE INVENTORY i2
SET i2.BVRTLPRICE01 =
(SELECT i1.BVRTLPRICE01 FROM INVENTORY i1
WHERE
i1.CODE = REPLACE(LEFT(i2.CODE,1), 'S', 'C') + SUBSTRING(i2.CODE,2,LENGTH(i2.CODE)))
WHERE
i2.CODE like 'S%'