@echo off 
cls 
set CLASSPATH=..\api\jogre.jar 
set CLASSPATH=%CLASSPATH%;. 
set CLASSPATH=%CLASSPATH%;classes 
set CLASSPATH=%CLASSPATH%;lib\dom4j.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 Files\test\db_test>java InsertTestMysql 
<<---本页生成耗时[98582]毫秒(98.582秒)--->> 
<<---共插入记录100000条-->> 
 前几天又测试了下,用开源的jdts 的jdbc 连接ms-sql server 2000 sp3 其他同上,测试结果惨不忍睹: 
 
D:\dev\java\src\ts\Ms-Sql>java InsertTestMssql 
<<---本页生成耗时[1746681]毫秒(1746.681秒)--->> 
<<---共插入记录100000条-->>