@gema mati
kl
atur CLASSPATH=../api/jogre.jar
atur CLASSPATH=%CLASSPATH%;.
atur CLASSPATH=%CLASSPATH%;kelas
atur CLASSPATH=%CLASSPATH%;lib/dom4j.jar
java org.jogre.server.JogreServer
Buat tabel
Copy kode kodenya sebagai berikut:
membuat kontes database;
gunakan kontes_test;
buat tes tabel(id int bukan null,txt varchar (70),kunci utama (id),indeks (id));
Hanya dua bidang, id ditambah indeks.
Gunakan program Java untuk mengulang tabel 100.000 kali untuk memasukkan catatan, id (jumlah loop) dan konten (catatan ini adalah =xx)
SisipkanTestMysql.java
Copy kode kodenya sebagai berikut:
import java.lang.*;
impor java.sql.*;
kelas publik InsertTestMysql{
public static void main(String [] args){
java.util.Date now_start = java.util.Date();
waktu_mulai panjang=sekarang_mulai.getTime();
int st = 100000;
String str,info;
String db="org.gjt.mm.mysql.Driver";
String host="jdbc:mysql://192.168.1.35/test";
String pengguna="root";
String passwd="root";
Sambungan koneksi=null;
mencoba{
Kelas.forName(db).newInstance();
}
tangkapan(Pengecualian e){
System.out.println("Gagal memuat driver:"+db);
}
mencoba{
con=DriverManager.getConnection(host,pengguna,passwd);
con.setAutoCommit(false);//Matikan pengiriman transaksi otomatis
untuk (int i=1;i<=st;i++){
info = "Catatan ini adalah =";
info = info.concat(java.lang.Integer.toString(i));
str = "masukkan ke dalam nilai pengujian (id,txt)(?,?);";
PreparedStatement pstmt = con.prepareStatement(str);
pstmt.setInt(1,i);
pstmt.setString(2,info);
pstmt.executeUpdate();
}
con.commit();//Setelah pernyataan dieksekusi, kirimkan transaksi ini
con.close();
}
tangkapan(Pengecualian e) {
Sistem.keluar.println(e);
}
java.util.Date now_end = java.util.Date();
long end_time=sekarang_end.getTime();
waktu_penggunaan panjang=waktu_akhir-waktu_mulai;
System.out.println("<<---Pembuatan halaman ini memerlukan waktu ["+use_time+"] milidetik ("+((double)use_time)/1000+" detik)--->>");
System.out.println("/n<<---Total record yang dimasukkan "+st+"-->>");
}
}
Performanya berbeda pada versi jdbc yang berbeda.
jdbc 3.1.7, 12770,12778 Ketika nomor ini dimasukkan, program keluar dan bahasa Mandarin normal.
jdbc 3.1.12 12000 Ketika nomor ini dimasukkan, program keluar dan bahasa Mandarin normal.
Perintah berikut akan muncul:
"Pengecualian di thread" utama "java.lang.OutOfMemoryError: Java heap space"
"Java Heap Space Error" mungkin karena mesin saya tidak memiliki cukup memori. Tapi itu normal jika menggunakan jdbc seri 3.10.
jdbc 3.0.16-ga 100.000 catatan normal dan bahasa Mandarin normal.
jdbc 3.0.10 berhasil mencatat 100.000 catatan, tetapi terdapat kesalahan berbahasa Mandarin.
Menggunakan jdbc seri 3.1, setelah program dijalankan, sisa memori fisik mesin dengan cepat menjadi 40xxKB.
Ini mungkin karena seri jdbc3.1 memerlukan memori yang besar, dan memori mesin saya tidak mencukupi.
Saya akan mengujinya di mesin RAM AMD64 512M milik teman sekelas saya besok.
jdbc 3.0.16-ga satu-satunya yang normal.
Copy kode kodenya sebagai berikut:
D:/Program Files/test/db_test>java InsertTestMysql
<<---Pembuatan halaman ini memerlukan waktu [98582] milidetik (98,582 detik)--->>
<<---Total 100.000 catatan telah dimasukkan-->>
Saya mengujinya lagi beberapa hari yang lalu, menggunakan jdts jdbc open source untuk terhubung ke server ms-sql 2000 sp3. Lainnya sama seperti di atas, dan hasil pengujiannya buruk:
Copy kode kodenya sebagai berikut:
D:/dev/java/src/ts/Ms-Sql>java InsertTestMssql
<<---Pembuatan laman ini memerlukan waktu [1746681] milidetik (1746,681 detik)--->>
<<---Total 100.000 catatan telah dimasukkan-->>
1 23Baca teks selengkapnya di halaman berikutnya