Соединение с базой данных такое же, как сессия? - PullRequest
4 голосов
/ 20 апреля 2011

Я немного смущен отношениями между

  • Сессия открытой базы данных
  • Пул соединений

Для уточнения, я использую JDBC с базой данных Oracle 9i, а также использую пул соединений для объединения своих соединений.

Что я хотел бы знать, так это то, что: когда мои соединения простаивают в пуле, связаны ли они с какой-либо Open Session с базой данных? Итак, если у меня 5 пулов, которые бездействуют в пуле, означает ли это, что в моей базе данных будет 5 соответствующих активных сеансов Open?

1 Ответ

4 голосов
/ 21 апреля 2011

Хорошо. Я получил ответ от других форумов:

Это полностью зависит от реализации пула.Кажется вероятным, что они какое-то время связаны с открытым сеансом, а затем сеансы закрываются, если соединения не используются в течение некоторого времени, и восстанавливаются, когда они снова нужны.

Не сохранять их открытыми дляНекоторое количество времени будет означать бесполезную трату времени на установление соединений, когда запросы поступают в быстром темпе.Если держать их открытыми вечно, это приведет к ограниченным ресурсам без веской причины.И то, и другое противоречит моему пониманию самой сути наличия пула соединений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...