日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql大量数据插入探讨(量变引起质变)

發布時間:2025/3/20 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql大量数据插入探讨(量变引起质变) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

?分類:見Visio圖

?關于大量數據導入是應注意以下幾點:

  • 分批導入,導入一批后最后提交(commit),可以使用jdbc的(executeBatch)批量處理但是注意它的最大上限,否則只會執行一部分sql語句,超過上限的sql會自動丟棄;

  • 注意內存使用(不要出現內存益出, Java heap space;

  • 盡量使用大量導入工具(bcp,sqlLoader)來完成(未測試不確定) ;

  • 數據量很大時導入時最好不要做太多的判斷,這樣會影響導入速度;

  • 數據量很大時:是在建表時候添加主鍵(假設主鍵不是自增長ID列)后插入數據,還是插入數據后添加主鍵,前者主要的問題是大量數據插入速度減慢,如果是頻繁的插入操作會導致數據庫奔潰;后者的問題也是大量數據的表添加主鍵(需要刪除重復記錄,并根據mysql自己的添加主鍵機制來處理,速度很慢,而且頻繁的操作也會導致數據庫的奔潰);

  • 如果原數據表中有索引,先刪除索引,待到導入數據后再建立索引;(主鍵是唯一索引的特列,這也是 5.中所述的

  • 由于數據量大的原因,需要配置mysql的my.ini 文件中相關選項,這個過程中如果不是很明白各個參數之間的相關關系,則需要一個參數一個參數的修改,從而提高mysql的整體性能;

  • insert 語句的處理而言,用StringBuilder代替“+”其性能是個質的提高;

  • 利用jdbc支持的批量插入(preparedstatement),手動控制事務(將插入的數據分割為多次提交),從而此番優化的程序可達到多線講程并發高效插入的時效;

  • 使用create table select *from soucre.table 方式建表和show create table tablename方式建表是不相同的,后者建立的表是和原來的表source.table 結構相同的,但是前者的建表方式得到的表結構是沒有主鍵的;

  • ?

    轉載于:https://my.oschina.net/u/1462678/blog/227170

    總結

    以上是生活随笔為你收集整理的mysql大量数据插入探讨(量变引起质变)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。