Mysql批量插入更新

2022-01-30 15:20:16 字數 859 閱讀 2593

批量插入,使用mybatis批量語法:

<

insert

id="insertbatch"

parametertype

="list"

>

insert into tbl1 (a, b, c)

values

<

foreach

collection

="list"

item

="obj"

separator

=","

>

(#, #, #)

foreach

>

insert

>

使用臨時表進行批量更新,其中的a,b作為唯一索引:

insert

into

tbl1 (a, b , c,d,e)

select a, b ,c,d,e from

tbl1_temp s

on duplicate key

update c = s.c, d = s.d, e=s.e

3萬條記錄,第一次插入的時候1.5秒,第二次更新的時候2.5秒;

而且不會影響到該條記錄的其他字段;

replace

into

tbl1 (a, b , c,d,e)

select a, b ,c,d,e from tbl1_temp s

3萬條記錄,第一次插入的時候2.5秒,第二次更新的時候4.5秒;

replace的時候會把記錄刪除重新插入,自增主鍵可以看出變化;

該條記錄的其他欄位會被清空,使用預設值填入;

mysql批量插入與更新

insert into t1 values a,b a,b insert into t values 1,20,a 2,26,b 3,30,c 兩張表的字段要一一對應 insert into t select id,age,name from t copy where id 10 結果 1 20 a...

Mysql批量插入更新效能優化

對於資料量較大的插入和更新,因io cpu等效能瓶頸,會產生大量的時間消耗,目前主流的優化主要包括預編譯 單條sql插入多條資料 事務插入等,下面詳細介紹一下 單條插入 mybatis insert into sys city city code,city name,province name,al...

MySql快速插入以及批量更新

mysql快速插入以及批量更新 插入 mysql提供了可以一次插入多條資料的用法 sql insert into tbl name a,b,c values 1,2,3 4,5,6 7,8,9 10,11,12 在程式中可以通過迴圈,新增values對應的列表,最後使用一次executeupdate...