2010-05-24 11 views

Répondre

0

Connexion Pooling pour sûr et presque toujours.

La création d'une nouvelle connexion à la base de données est très coûteuse en termes de performances. Et différents moteurs DB (selon les licences ou les paramètres) ont un nombre maximum de connexions différent (parfois même 1, généralement pas plus de 50). La seule raison d'utiliser les connexions Per-Thread est si vous savez qu'il existe un certain nombre de threads persistants (10 par exemple). Je ne peux pas imaginer cette situation dans le monde réel.

0

Définitivement le regroupement de connexions. Absolument aucune raison de créer une nouvelle connexion pour chaque thread. Mais, il pourrait être logique d'utiliser la même connexion pour une requête HTTP entière par exemple (surtout si vous avez besoin de transactions).

Vous pouvez facilement configurer le cadre de la mise en commun de connexion pour un min et nombre maximum de connexions en fonction de la base de données que vous utilisez. Mais avant d'aller trop haut avec le nombre maximum de connexions, essayez d'utiliser la mise en cache si vous avez des problèmes de performances.

0

Pour les applications Web, la mise en commun de connexion est généralement la bonne réponse pour des raisons autres ont déjà offert.

Pour la plupart des applications de bureau en cours d'exécution contre une base de données, un pool de connexion est pas bon puisque vous avez seulement besoin d'une connexion et ayant des connexions multiples consomme des ressources sur le serveur DB. (Multipliez cela par le nombre d'utilisateurs.) Ici, vous avez le choix entre une seule connexion persistante ou simplement créer la connexion à la demande. Le premier conduit à des requêtes plus rapides puisque vous n'avez pas les frais généraux de construction et de destruction de la connexion. La seconde est plus lente mais aussi moins exigeante sur le serveur DB.

Questions connexes