優化一條UPDATE語句

2021-08-22 17:12:06 字數 439 閱讀 2726

最近見到一條開發人員寫的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)

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

mysql一條語句update多條記錄

通常情況下,我們會使用以下sql語句來更新字段值 update mytable set myfield value where other field other value 但是,如果你想更新多行資料,並且每行記錄的各字段值都是各不一樣,你會怎麼辦呢?剛開始你可能會想到使用迴圈執行多條update...

一條sql 語句的優化

第二個版本 一條sql搞定,使用巢狀查詢,費時2 3分鐘 select a.indexid,c.title,c.createdtime,c.intro,d.picurl,e.src,e.size,e.info from mms content index a,mms index node b,mms...

一條Update語句實現兩列值的交換

趙老闆,前些日子去某軟體公司筆試去了,拿到試卷,第乙個題就是 用一條update交換兩列的值 當然表是給定的。這還不簡單,上去就要寫,可是寫不出來,交換值肯定要用乙個中間變數來儲存。左思右想,還是沒有想出來,放棄,做下乙個題。趙老闆回來問這個自稱是sql高手的高總,聽了以後我的頭腦也暈了,沒有思路,...