Какая стратегия кэширования быстрее и на сколько?
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, но разница незначительна.Я хотел бы увидеть больше тестов, прежде чем принять решение.