Не обязательно. На самом деле, не ожидается, что открытые соединения будут замедлять работу приложения, если только это специально не оправдано .
На производительность могут влиять три фактора:
- загрузка ЦП.
- Занятие памяти.
- Трафик ввода / вывода.
Должно ли соединение JDBC, просто для того, чтобы быть открытым, а не для использования, увеличить использование ЦП? В принципе нет, если драйвер не работает в фоновом режиме, какой-то своей собственной нити.
Должно ли оно занимать много памяти? В принципе нет, потому что API JDBC предназначены для восстановления данных через курсоры (он не должен занимать больше, чем простой рабочий буфер) - если драйвер не выполняет правильную сборку мусора из используемых udata.
Должно ли это делать много трафика ввода-вывода? В принципе нет, если только драйвер не выполняет опрос или что-то в фоновом режиме.
Итак, как видите, ответ таков: это зависит от реализации драйвера JCBC . Закрытие соединения, как только оно не используется, является хорошей практикой для освобождения ресурсов на стороне сервера, но обычно это не критично на стороне клиента.