黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java基礎學習:java批處理教程

Java基礎學習:java批處理教程

更新時間:2020-04-01 13:50:12 來源:動力節點 瀏覽2392次


  在處理一些與數據庫相關的操作的時候,通常把一些操作合并能夠起到優化的效果,并且數量越大,批量執行的效率比一條一條執行的效率要快的多。


  批量插入比單次插入快


  比如有十條數據單條執行需要操作十次數據庫,批量的話執行一次數據庫的操作就可以。


  對應的sql語句:


  單次:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....);


  INSERT INTO table_name (列1, 列2,...) VALUES (值3, 值4,....);


  批量:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....),(值3, 值4,....);


  大家可以用sql直接去數據庫執行做一下對比,在數據庫越大的時候,他們的速度對比越明顯。


  我原來做過sql數據導入,同樣的數據不同的sql,單次插入的執行了800s,分批的50s內完成。這只是一個大概的印象,大家可以自己做嘗試。


  批量插入的缺陷


  優點是可以一次性插入很多條數據,但是缺點也有,這個很多條數據是有限制的,不能無限大,數據庫太多的話數據庫直接報錯,導入執行失敗,我記得提示的是(這條sql執行數據大于2M,無法執行),大概這樣的提示。


  所以為了效率,也為了保證程序的正常執行,就需要分批的批量插入。


  比如一次要插入8000條數據,數據庫受不了,那就一次插入500條。


  分批代碼

  //分批處理
  if (CollectionUtils.isNotEmpty(allList)) {
  int pointsDataLimit = 500;//定義分批大小
  List newList = new ArrayList();
  for (int i = 0; i < allList.size(); i++) {//分批次處理
  newList.add(allList.get(i));
  if (pointsDataLimit == newList.size() || i == allList.size() - 1) {
  userDao.insertAllBy(newList);//批量插入
  newList.clear();
  }
  }
  }

  總結:優化既要保證效率,更要注重正確性。


Java基礎學習:java批處理教程


  以上就是動力節點java培訓機構的小編針對“Java基礎學習:java批處理教程”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 最近中文字幕完整在线看一 | 97公开免费视频 | 国产一区二区三区免费在线观看 | 国产精品一区在线免费观看 | 免费国产黄网站在线观看 | porefree日本中国 | 国产精品久久久亚洲动漫 | 美女被cao免费看在线看网站 | 国产毛片在线看 | 青草悠悠视频在线观看 | 日韩欧美在线观看 | 曰批全过程免费视频观看软件 | 精品国产成人系列 | 国产白丝丝高跟在线观看 | 欧美日产国产亚洲综合图区一 | 亚洲日本va午夜中文字幕 | 亚洲欧美日韩国产精品久久 | 深夜国产成人福利在线观看女同 | 一区二区在线视频观看 | 天堂va欧美ⅴa亚洲va一国产 | 青草草在线观看 | 五月婷婷狠狠干 | 国产午夜视频在永久在线观看 | 免费观看性欧美大片无片纯爱 | 阿v精品一区二区三区 | 国产观看精品一区二区三区 | 日日摸日日碰夜夜爽视频网站 | 美日毛片 | 久久国产精品久久 | 欧美不卡一区二区三区免 | 中文字幕二区三区 | 欧美中文字幕一区二区三区 | 最近更新中文字幕影视 | 最近中文日本字幕免费完整 | 轻点插视频 | 午夜刺激爽爽视频免费观看 | 麻豆一区二区三区在线观看 | 欧美在线播放成人a | 91短视频版在线观看www免费 | 日本免费v片一二三区 | 在线观看亚洲天堂 |