Как стать автором
Обновить
5
0

Пользователь

Отправить сообщение
Не очень понял про синтаксис. Можете прояснить что Вам не понравилось?
Да PreparedStatement связан с объектом Connection, который его создал. Именно по этому в самописном пуле кеширование происходит в классе Connection
   public PreparedStatement prepareStatement(String sql) throws SQLException {
            PreparedStatement statement = statements.get(sql);
            if (statement == null) {
                statement = new MyStatement(connection.prepareStatement(sql));
                statements.put(sql, statement);
            }
            return statement;
        }

В данной статье я ставил целью показать, что существует такая проблема, зачастую многие не могут ответить на вопрос: зачем нужны пулы соединений. А так же показать, что писать самому реализацию кеширования не имеет смысла. Сравнение уже существующих реализация можно провести, но мне кажется, что там результаты тестов не будут сильно различаться.
На стороне СУБД просто есть функционал открытия соединений и обработки запросов, а как Вы будете его использовать эти функции уже зависит от Вас. Если просто когда надо открывать соединение и когда получили результат закрывать, то будут проблемы с производительностью.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность