1. 程式人生 > >優化一條UPDATE語句

優化一條UPDATE語句

最近見到一條開發人員寫的UPDATE語句, 覺得沒什麼不對, 可又覺得有地方不對, 因為效能低下.

UPDATE A SET
(COL2, COL3) = (SELECT COL1,'T'
FROM B WHERE B.COL1=A.COL1)
WHERE EXISTS
(SELECT B.COL1 FROM B WHERE B.COL1=A.COL1)

也就更新幾十萬條記錄, 沒這麼慢的啊. 最後發現這個SQL語句可以簡化為如下.

UPDATE A SET COL2=COL1, COL3='T'
WHERE EXISTS
(SELECT B.COL1 FROM B WHERE B.COL1=A.COL1)

說明還有很多可以提高的地方.值