我已經嘗試在大約25k行的表上運行以下UPDATE,並且它已超過24小時運行並且尚未完成。我只需要運行這個UPDATE一次,所以時間不是太多的問題,但任何長期的只是不會爲我工作。 UPDATE語句可以正常工作,因爲我試圖在幾條記錄上單獨運行它,但是當您將其應用於整個表格時,它會陷入停滯狀態。使用LIKE優化SQL 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%'
您正在使用哪個RDBMS,以及哪個版本? – Yuck
其稱爲PERVASIVE SQL v8.7 – seb