昨天在測試mysql的兩種批量更新時,由於需要入庫大量測試資料,反覆執行插入指令碼,過程繁瑣,檔次很低,測試完後我就想著寫個批量插入的小demo,然後又想寫個多執行緒的批量插入的demo,然後就有了下面的東西了……
spring-boot 1.5.6整合 mysql druid mybits 還有一些無關緊要的東西
執行緒類:service層的多執行緒批量插入方法:/***@classnameinsertdatathread
*@description<
插入資料類
>
*@authorzhaiyt
*@date2018/8/29 17:04
*@version1.0
*/public classinsertdatathreadextendsthreadcatch(exceptione)
}}
/***@paramlist
*@returnint
*@description<
批量插入
>
*@authorzhaiyt
*@date9:51 2018/8/29
*@param[list]
*/@override
public intinsertbatch(list<userentity> list)throwsif(collectionutils.isempty(listuser))
//根據資料量判斷是否使用多執行緒 選擇開啟執行緒數
if(listuser.size() > 1000000)else if(listuser.size() > 100000)else if(listuser.size() > 10000)else
//計數器
intsize = 0;
//建立執行緒池
executorservice fixedthreadpool =executors.newfixedthreadpool(betch);
for(inti = 0; i < (math.ceil(listuser.size() / 5000)); i++)
專案路徑:
sql server 批量插入資料demo
測試表結構如下 create table dbo tblphonenum id bigint identity 1,1 not null,phonenum nvarchar 50 not null,name nvarchar 50 not null,source nvarchar 50 null,c...
mybatis使用多執行緒批量插入資料
昨天在專案中有乙個excel導表的操作,於是就想著用多執行緒插入資料。網上找了下mabayis多執行緒插入資料,看了很多都是配置的xml,但我不是很喜歡寫xml.於是自己手寫了乙個,可能不是很優雅,但還是記錄一下.不多說,直接上 controller,和dao就不放了,主要是service層 ove...
多執行緒實現demo
多執行緒應用場景 報表匯出,大批量資料同步等等吧。同步100萬條資料,單個執行緒假如需要2.5個小時,如果5個執行緒一起跑可能只需要0.5小時,10個執行緒一起跑可能只需要十五分鐘。這樣就大大提高了效率。那麼我們如果讓多個執行緒同時跑,而且又跑的是不重複的資料呢,可以按照id 時間段進行分割。每乙個...