約 25,000 行のテーブルで次の UPDATE を実行しようとしましたが、24 時間以上実行されていましたが、完了していません。この UPDATE を実行する必要があるのは 1 回だけなので、時間はそれほど問題ではありませんが、それほど長くは機能しません。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%'