如何向mysql里的Innodb插入千万测试数据呀

sinlir 2013-02-06 06:44:34
想向MYSQL里插入些测试数据,用java的JDBC插入的。
大致代码如下:

import java.lang.*;
import java.sql.*;
public class InsertTestMysql{
public static void main(String [] args){
java.util.Date now_start = new java.util.Date();
long start_time=now_start.getTime();
int st = 100000;
String str,info;
String db="org.gjt.mm.mysql.Driver";
String host="jdbc:mysql://192.168.1.35/test";
String user="root";
String passwd="root";
Connection con=null;
try{
Class.forName(db).newInstance();
}
catch(Exception e){
System.out.println("加载驱动失败:"+db);
}
try{
con=DriverManager.getConnection(host,user,passwd);
con.setAutoCommit(false);//关闭事务自动提交
for (int i=1;i<=st;i++){
info = "这条记录是第=";
info = info.concat(java.lang.Integer.toString(i));
str = "insert into test (epid,name) values(?,?);";
PreparedStatement pstmt = con.prepareStatement(str);
pstmt.setInt(1,i);
pstmt.setString(2,"name"+i);
pstmt.executeUpdate();
}
con.commit();//语句执行完毕,提交本事务
con.close();
}
catch(Exception e) {
System.out.println(e);
}
java.util.Date now_end = new java.util.Date();
long end_time=now_end.getTime();
long use_time=end_time-start_time;
System.out.println("<<---本页生成耗时["+use_time+"]毫秒("+((double)use_time)/1000+"秒)--->>");
System.out.println("\n<<---共插入记录"+st+"条-->>");
}
}

插入速度实在太慢了,如何想插入上千万条,还不等死啊!
请问各位大牛,你们都是如何插入大批数据呢?注意:是innodb的
...全文
71 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinlir 2013-02-06
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
用load data 另外在创建MYSQL的时候设置 ibdata1 大一些。
很好,快多了。!
ACMAIN_CHM 2013-02-06
  • 打赏
  • 举报
回复
用load data 另外在创建MYSQL的时候设置 ibdata1 大一些。

56,937

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧