8535.com-新浦京娱乐场官网|欢迎您

MYSQL批量插入数据的实现代码第1/3页,mysql插入代

来源:http://www.dnamique.com 作者:计算机网络 人气:193 发布时间:2019-10-07
摘要:MYSQL批量插入数据的实现代码第1/3页,mysql插入代码3页 @echo off cls set CLASSPATH=..apijogre.jar set CLASSPATH=%CLASSPATH%;. set CLASSPATH=%CLASSPATH%;classes set CLASSPATH=%CLASSPATH%;libdom4j.jar 新浦京娱乐场官网,

MYSQL批量插入数据的实现代码第1/3页,mysql插入代码3页

@echo off
cls
set CLASSPATH=..apijogre.jar
set CLASSPATH=%CLASSPATH%;.
set CLASSPATH=%CLASSPATH%;classes
set CLASSPATH=%CLASSPATH%;libdom4j.jar
新浦京娱乐场官网,java org.jogre.server.JogreServer
建表
复制代码 代码如下:
create database con_test;
use con_test;
create table test(id int not null,txt varchar (70),primary key (id),index (id));

就两个字段,id加索引。
用java程序给表循环10万次插入纪录,id(循环次数) 和 内容(这条记录是第=xx)
InsertTestMysql.java
复制代码 代码如下:
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 (id,txt) values(?,?);";
PreparedStatement pstmt = con.prepareStatement(str);
pstmt.setInt(1,i);
pstmt.setString(2,info);
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+"条-->>");
}
}

在不同版本的jdbc下,表现不同。
jdbc 3.1.7, 12770,12778 插入这个数目时,程序退出,中文正常。
jdbc 3.1.12 12000 插入这个数目时,程序退出,中文正常。
均出现以下提示:
"Exception in thread "main" java.lang.OutOfMemoryError: Java heap space"
“Java 堆 空间 错误”,可能是我机器内存不够。但用3.10系列jdbc就正常。
jdbc 3.0.16-ga 10万记录正常,中文正常。
jdbc 3.0.10 10万记录成功,但中文错误。
使用3.1系列jdbc,程序运行后,机器剩余物理内存很快就成了40xxKB了。
这个,也可能是jdbc3.1系列需要内存大,我机器内存不足。
明天再去同学的AMD64 512M RAM 机器测试。
jdbc 3.0.16-ga 唯一这个正常的,测试结果为:
复制代码 代码如下:
D:Program Filestestdb_test>java InsertTestMysql
<<---本页生成耗时[98582]毫秒(98.582秒)--->>
<<---共插入记录100000条-->>

前几天又测试了下,用开源的jdts 的jdbc 连接ms-sql server 2000 sp3 其他同上,测试结果惨不忍睹:
复制代码 代码如下:
D:devjavasrctsMs-Sql>java InsertTestMssql
<<---本页生成耗时[1746681]毫秒(1746.681秒)--->>
<<---共插入记录100000条-->>

当前1/3页 123下一页阅读全文

@echo off cls set CLASSPATH=..apijogre.jar set CLASSPATH=%CLASSPATH%;. set CLASSPATH=%CLASSPATH%;classes s...

本文由8535.com-新浦京娱乐场官网|欢迎您发布于计算机网络,转载请注明出处:MYSQL批量插入数据的实现代码第1/3页,mysql插入代

关键词:

上一篇:SUSE Linux10上安装Oracle数据库

下一篇:没有了

最火资讯