MYSQL批量更新

2021-10-25 08:26:54 字數 931 閱讀 7913

批量更新比較常用的方法比較

一 、 第一種方法,通過接收傳進來的引數list進行迴圈著組裝sql   注意mysql鏈結需要開啟加上 &allowmultiqueries=true

二、第二種方法、用on duplicate key update

更新資料                 on duplicate key update耗時時間        for迴圈耗時時間

50000                                             8846ms                                           21828ms

100000                                           12689ms                                         38921ms    

300000                                            75624ms                                        136254ms        

sql語句for迴圈效率其實相當高的,只不過最後update語句比較多,量大了有可能造成sql阻塞

duplicate key update可以看出來比for更快,公司一般都禁止使用replace into和insert into … on duplicate key update,這種sql有可能會造成資料丟失和主從上表的自增id值不一致。注意 on duplicate key update 後面 必須跟上主鍵id,value裡面是資料庫字段。

mysql 批量更新 MySQL批量更新

我有2個表 mysql data details accounts invoices 理想情況下,每個data details都應具有accounts invoices id.data details有乙個帶有accounts invoices主鍵的外來鍵 由於某種原因,有data details記...

mysql有則更新 批量 mysql 批量更新

private function parseupdate data,field,table sql update set keys array keys current data print r keys die foreach keys as column 如何用一條sql語句實現批量更新?mys...

mysql 批量更新

最近有用到mysql批量更新,使用最原始的批量update發現效能很差,將網上看到的總結一下一共有以下三種辦法 1.批量update,一條記錄update一次,效能很差 update test tbl set dr 2 where id 1 2.replace into 或者insert into ...