@echo aus
cls
setze CLASSPATH=../api/jogre.jar
setze CLASSPATH=%CLASSPATH%;.
set CLASSPATH=%CLASSPATH%;classes
setze CLASSPATH=%CLASSPATH%;lib/dom4j.jar
java org.jogre.server.JogreServer
Tabelle erstellen
Kopieren Sie den Codecode wie folgt:
Datenbank erstellen con_test;
benutze con_test;
Tabelle erstellen test(id int not null,txt varchar (70),primary key (id),index (id));
Nur zwei Felder, ID plus Index.
Verwenden Sie ein Java-Programm, um die Tabelle 100.000 Mal zu durchlaufen, um Datensätze, ID (Anzahl der Schleifen) und Inhalt einzufügen (dieser Datensatz ist =xx).
Fügen SieTestMysql.java ein
Kopieren Sie den Codecode wie folgt:
java.lang.* importieren;
java.sql.* importieren;
öffentliche Klasse 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";
Verbindung con=null;
versuchen{
Class.forName(db).newInstance();
}
Catch(Ausnahme e){
System.out.println("Laden des Treibers fehlgeschlagen:"+db);
}
versuchen{
con=DriverManager.getConnection(host,user,passwd);
con.setAutoCommit(false);//Automatische Transaktionsübermittlung deaktivieren
for (int i=1;i<=st;i++){
info = "Dieser Datensatz ist der =";
info = info.concat(java.lang.Integer.toString(i));
str = "in Testwerte (id,txt) einfügen(?,?);";
PreparedStatement pstmt = con.prepareStatement(str);
pstmt.setInt(1,i);
pstmt.setString(2,info);
pstmt.executeUpdate();
}
con.commit();//Senden Sie diese Transaktion, nachdem die Anweisung ausgeführt wurde
con.close();
}
Catch(Ausnahme 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("<<---Die Generierung dieser Seite dauerte ["+use_time+"] Millisekunden ("+((double)use_time)/1000+" Sekunden)--->>");
System.out.println("/n<<---Eine Gesamtzahl der eingefügten Datensätze "+st+"-->>");
}
}
Die Leistung ist je nach JDBC-Version unterschiedlich.
jdbc 3.1.7, 12770,12778 Wenn diese Nummer eingegeben wird, wird das Programm beendet und die chinesische Sprache ist normal.
jdbc 3.1.12 12000 Wenn diese Zahl eingegeben wird, wird das Programm beendet und Chinesisch ist normal.
Die folgenden Eingabeaufforderungen werden angezeigt:
„Ausnahme im Thread „main“ java.lang.OutOfMemoryError: Java-Heap-Speicherplatz“
„Java Heap Space Error“ kann daran liegen, dass mein Computer nicht über genügend Speicher verfügt. Aber es ist normal, wenn JDBC der Serie 3.10 verwendet wird.
jdbc 3.0.16-ga 100.000 Datensätze sind normal und Chinesisch ist normal.
jdbc 3.0.10 hat 100.000 Datensätze erfolgreich aufgezeichnet, hatte jedoch chinesische Fehler.
Bei Verwendung von JDBC der Serie 3.1 beträgt der verbleibende physische Speicher der Maschine nach der Ausführung des Programms schnell 40xx KB.
Dies kann daran liegen, dass die JDBC3.1-Serie großen Speicher benötigt und mein Computer nicht über genügend Speicher verfügt.
Ich werde es morgen auf dem AMD64 512M RAM-Rechner meines Klassenkameraden testen.
jdbc 3.0.16-ga ist das einzige, das normal ist. Die Testergebnisse sind:
Kopieren Sie den Codecode wie folgt:
D:/Program Files/test/db_test>java InsertTestMysql
<<---Die Erstellung dieser Seite dauert [98582] Millisekunden (98,582 Sekunden)--->>
<<---Es wurden insgesamt 100.000 Datensätze eingefügt-->>
Ich habe es vor ein paar Tagen erneut getestet und dabei das Open-Source-JDTS-JDBC verwendet, um eine Verbindung zum MS-SQL-Server 2000 SP3 herzustellen. Andere sind die gleichen wie oben, und die Testergebnisse sind schrecklich:
Kopieren Sie den Codecode wie folgt:
D:/dev/java/src/ts/Ms-Sql>java InsertTestMssql
<<---Die Erstellung dieser Seite dauerte [1746681] Millisekunden (1746,681 Sekunden)--->>
<<---Es wurden insgesamt 100.000 Datensätze eingefügt-->>
1 23Lesen Sie den vollständigen Text auf der nächsten Seite