2010-05-24 2 views

ответ

0

Пул соединения наверняка и почти всегда.

Создание нового подключения к базе данных очень дорого для производительности. И разные механизмы БД (в зависимости от лицензирования или просто настроек) имеют разное максимальное количество подключений (иногда это даже 1, обычно не более 50).

Единственная причина для использования соединений с потоками - это знать, что существует определенное количество постоянных потоков (например, 10). Я не могу представить эту ситуацию в реальном мире.

0

Определенно соединение пула. Абсолютно никаких причин для создания нового соединения для каждого потока. Но, возможно, имеет смысл использовать одно и то же соединение для всего HTTP-запроса (особенно, если вам нужны транзакции).

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

0

Для веб-приложений объединение пулов, как правило, является правильным ответом по другим причинам, которые уже предложены.

Для большинства настольных приложений, работающих с базой данных, пул соединений не подходит, поскольку вам нужно только одно соединение и наличие нескольких соединений потребляет ресурсы на сервере БД. (Умножьте на количество пользователей.) Здесь выбор между одним постоянным соединением или просто создайте соединение по требованию. Первое приводит к более быстрым запросам, так как у вас нет накладных расходов на создание и разрывание соединения. Второй - медленнее, но также менее требователен к серверу БД.