Какая стратегия кеширования быстрее и на сколько?
1) Пул PreparedStatement (по пулу соединений). Приложение не кеширует.
for (int i=0; i<1000; i++) {
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setObject(1, someValue);
preparedStatement.executeQuery();
preparedStatement.close();
}
2) Кеширование на уровне приложения. Нет пула PreparedStatement.
PreparedStatement preparedStatement = connection.prepareStatement(sql);
for (int i=0; i<1000; i++) {
preparedStatement.clearParameters();
preparedStatement.setObject(1, someValue);
preparedStatement.executeQuery();
}
preparedStatement.close();
Этот вопрос похож на повторное использование PreparedStatement несколько раз, за исключением того, что я ожидаю конкретного теста результаты, а также с учетом объединения PreparedStatement.
http://drupal.org/node/550124#comment-2224630, похоже, указывает это кэширование на уровне приложения более эффективно, чем пул PreparedStatement, но разница незначительна. Я хотел бы увидеть больше тестов, прежде чем принимать решение.