今天寫了一條資料更新操作的sql語句
如下update shop as t1
sett1.street=
(select distinct (concat(t2.dscp," ",coalesce(t2.street)))
from mall as t2
where t1.mall_cd=t2.code),
t1.street_loc_1=
(select distinct (concat(t2.dscp_loc_1," ",coalesce(t2.street_loc_1)))
from mall as t2
where t1.mall_cd=t2.code),
t1.street_loc_2=
(select distinct (concat(t2.dscp_loc_2," ",coalesce(t2.street_loc_2)))
from mall as t2
where t1.mall_cd=t2.code);
當時也沒考慮很多【資料量比較大】,結果把語句執行好才意識到,效率太低了,一位前輩告訴我其實那個更新語句可以如下所示,效率會提高很多。
update shop as sh, mall as ma set sh.street=concat(ma.dscp,' ',ma.street),sh.street_loc_1=concat(ma.dscp_loc_1,' ',ma.street_loc_1),sh.street_loc_2=concat(ma.dscp_loc_2,' ',ma.street_loc_2) where sh.mall_cd=ma.code
對照比較發現,的確如此。看來以後要注意了!
mysql更新效率優化 MYSQL更新優化實錄
引言 今天 august 5,2015 5 34 pm 在給資料庫中一張表的結構做一次調整,新增了幾個字段,後面對之前的資料進行重新整理,重新整理的內容是 對其中的乙個已有欄位url進行匹配,然後更新新加的字段type和typeid。後來就寫了個shell指令碼來刷資料,結果執行shell指令碼後我...
資料庫優化(持續更新)
資料庫是程式的倉庫,也是程式中最脆弱的一部分,因為它的脆弱性和重要性,所以需要專門進行管理和優化。在如今的網路化的時代更加需要資料庫的靈活和快捷,乙個高效的資料庫能夠使程式執行效率更快,提高程式的執行效率。但往往對資料庫的設計達不到我們想要的效果,所以資料庫的優化顯得尤為重要。該系列文章正是考慮大資...
mysql批量更新資料 效能優化
最近做的遊戲,上線後出了不少問題,所以我就經常去查資料庫資料,翻各種日誌等,但是在查詢的時候發現好蛋疼,有些地方的時間是寫 2016 08 11 20 13 02 這種格式,有些地方的時間是寫 1470917582000 這種格式,然後多張表資料進行對比的時候就很蛋疼,我得不停進行時間轉換,噁心得不...