程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> java mysql批量導入優化

java mysql批量導入優化

編輯:關於MYSQL數據庫
  • Connection conn=dao.getConn();  
  •         Date d=new Date();  
  •         System.out.println(d);  
  •         StringBuffer sql=new StringBuffer();  
  •         sql.append("insert into a values ");  
  •         for(int i=0;i<1000000;i++){  
  •             sql.append("("+i+"),");  
  •         }  
  •         String sql1=sql.substring(0,sql.length()-1);  
  •         Date d2=new Date();  
  •         System.out.println(d2);  
  •         Statement stmt=conn.createStatement();  
  •         stmt.execute(sql1);  
  •         Date d1=new Date();  
  •         System.out.println(d1);  

    在10W條數據的情況下 

    用StringBuffer是String 的N倍

    一次性全插是1條1條的差的 20倍

    PS:如果字符長度太長 (測試100W條的時候)

     MYSQL會暴錯 com.MySQL.jdbc.PacketTooBigException: Packet for query is too large (8888915 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved