@эхо выключено
клс
установите ПУТЬ К КЛАССУ=../api/jogre.jar
установите CLASSPATH=%CLASSPATH%;.
установить CLASSPATH=%CLASSPATH%;классы
установите CLASSPATH=%CLASSPATH%;lib/dom4j.jar
Java org.jogre.server.JogreServer
Создать таблицу
Скопируйте код кода следующим образом:
создать базу данных con_test;
используйте con_test;
создать тест таблицы (id int не null, txt varchar (70), первичный ключ (id), индекс (id));
Всего два поля, идентификатор плюс индекс.
Используйте программу Java, чтобы просмотреть таблицу 100 000 раз, чтобы вставить записи, идентификатор (количество циклов) и содержимое (эта запись — =xx).
ВставкаTestMysql.java
Скопируйте код кода следующим образом:
импортировать java.lang.*;
импортировать java.sql.*;
общественный класс InsertTestMysql {
public static void main(String [] args){
java.util.Date now_start = новый java.util.Date();
длинное start_time=now_start.getTime();
интервал ул = 100000;
Строка ул, информация;
String db="org.gjt.mm.mysql.Driver";
String host="jdbc:mysql://192.168.1.35/test";
Строка user="root";
Строка passwd="root";
Соединение con=null;
пытаться{
Class.forName(db).newInstance();
}
поймать (Исключение е) {
System.out.println("Не удалось загрузить драйвер:"+db);
}
пытаться{
con=DriverManager.getConnection(хост,пользователь,пароль);
con.setAutoCommit(false);//Отключаем автоматическую отправку транзакций
for (int i=1;i<=st;i++){
info = "Эта запись =";
информация = info.concat(java.lang.Integer.toString(i));
str = "вставить в тестовые (id,txt) значения(?,?);";
ReadedStatement pstmt = con.prepareStatement(str);
pstmt.setInt(1,i);
pstmt.setString(2,информация);
pstmt.executeUpdate();
}
con.commit();//После выполнения оператора отправьте эту транзакцию
кон.закрыть();
}
catch(Исключение е) {
System.out.println(e);
}
java.util.Date now_end = новый java.util.Date();
long end_time=now_end.getTime();
долгое 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 При вставке этого числа программа завершает работу и китайский язык становится нормальным.
Появятся следующие подсказки:
«Исключение в потоке «main» java.lang.OutOfMemoryError: пространство кучи Java»
«Ошибка кучи Java» может быть связана с тем, что на моей машине недостаточно памяти. Но это нормально при использовании jdbc серии 3.10.
jdbc 3.0.16-ga 100 000 записей — это нормально, китайский язык — это нормально.
jdbc 3.0.10 успешно записал 100 000 записей, но имел ошибки на китайском языке.
При использовании jdbc серии 3.1 после запуска программы оставшаяся физическая память компьютера быстро становится 40xxKB.
Это может быть связано с тем, что для серии jdbc3.1 требуется большой объем памяти, а на моей машине ее недостаточно.
Завтра я проверю это на машине моего одноклассника с оперативной памятью AMD64 512M.
jdbc 3.0.16-ga — единственная нормальная версия. Результаты теста:
Скопируйте код кода следующим образом:
D:/Program Files/test/db_test>java InsertTestMysql
<<---Создание этой страницы занимает [98582] миллисекунд (98,582 секунды) --->>
<<---Всего было вставлено 100 000 записей-->>
Я протестировал его еще раз несколько дней назад, используя jdts jdbc с открытым исходным кодом для подключения к серверу ms-sql 2000 SP3. Остальные такие же, как указано выше, и результаты теста ужасны:
Скопируйте код кода следующим образом:
D:/dev/java/src/ts/Ms-Sql>java InsertTestMssql
<<---Создание этой страницы заняло [1746681] миллисекунд (1746,681 секунды) --->>
<<---Всего было вставлено 100 000 записей-->>
1 23Прочитайте полный текст на следующей странице.