Я хочу выполнить запрос на выборку и получить счет результатов, не используя «COUNT (*)», как это делает TOAD Идея состоит в том, чтобы дать пользователю возможность ввести любой «запрос выбора», который он хочет, и подсчитать количество результатов для него.
try {
selectStatement = globalConnection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet selectResultSet = selectStatement.executeQuery(selectStatementString);
selectResultSet.last();
int countOfResults = selectResultSet.getRow();
writeInLabel(kllStatusLabel, "Count Finished: Found " + countOfResults + " Inserts");
} catch (SQLException ex) {
writeInLabel(kllStatusLabel, "Error executing select query.");
}
Этот код сильно задерживается в строке: "selectResultSet.last ();".
TOAD делает это с гораздо меньшей задержкой. (Щелкните правой кнопкой мыши -> Количество записей).
Даже когда я прокручиваю таблицу результатов до конца в TOAD, она делает это быстрее.
Как TOAD получает количество записей?
ОК, я понял, я буду использовать count (*) и получу второй ResultSet, чтобы показать мои результаты.
ResultSet selectResultSet = selectStatement.executeQuery("select count(*) from (" + selectStatementString + ")");
int countOfResults = 0;
if (selectResultSet.next()){
countOfResults = selectResultSet.getInt(1);
}