Книга поможет выработать правильную тактику и оценить перспективы раз



Pdf көрінісі
бет19/24
Дата19.11.2023
өлшемі1.3 Mb.
#483696
1   ...   16   17   18   19   20   21   22   23   24
refaktoringsql-prilozheniy


Глава 1. Оценка
rs = thresholdstmt.executeQuery();
if (rs.next()) {
if (amount >= rs.getFloat(1)){
returnval = true;
} else {
returnval = false;
}
} else { // не найдено - нет проблемы
returnval = false;
}
if (rs != null) {
rs.close();
}
thresholdstmt.close();
return returnval;
}
private static float Convert(float amount,
String iso,
Date valuationdate) throws Exception {
PreparedStatement conversionstmt = con.prepareStatement("select ? * 
rate"
+ " from currency_rates"
+ " where iso = ?"
+ " and rate_date = ?");
ResultSetrs;
floatval = (float)0.0;
conversionstmt.setFloat(1, amount);
conversionstmt.setString(2, iso);
conversionstmt.setDate(3, valuationdate);
rs = conversionstmt.executeQuery();
if (rs.next()) {
val = rs.getFloat(1);
}
if (rs != null) {
rs.close();
}
conversionstmt.close();
return val;
}
У всех таблиц определены первичные ключи . Когда я запустил эту про-
грамму с тестовыми данными, проверяя приблизительно одну седьмую 
набора из двух миллионов строк и регистрируя в конечном итоге очень 
мало строк, время работы программы составило приблизительно 11 ми-
нут при работе с MySQL
1
на моем тестовом компьютере .
1
MySQL 5 .1 .


Простой пример 
25
После небольшой модификации кода SQL, учитывающей различные 
способы представления месяца, предшествующего данной дате в раз-
ных диалектах языка, я запустил эту же программу с тем же объемом 
данных на SQL Server и Oracle
1

Работа программы заняла около пяти с половиной минут на SQL Server 
и чуть меньше трех минут на Oracle . Для сравнения в табл . 1 .1 приведено 
время работы программ с каждой системой управления базами данных 
(СУБД) . Как видите, во всех трех случаях программа выполняла свою 
задачу слишком долго . Что мы можем сделать, прежде чем решиться 
на покупку более быстродействующего оборудования?
Таблица 1.1. Исходная ситуация для программы SimpleExample.java


Достарыңызбен бөлісу:
1   ...   16   17   18   19   20   21   22   23   24




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет