Vous devez absolument ouvrir et fermer la connexion à chaque fois. En effet, si votre bloc using
a beaucoup de code après la dernière utilisation de la connexion, appelez Close()
pour le remettre dans la piscine dès que possible. De cette façon, le risque d'une autre utilisation ne nécessitant pas l'ouverture d'une nouvelle connexion est réduit (voir What does "opening a connection" actually mean? pour en savoir plus sur l'ouverture d'une connexion réelle et la sortie d'une connexion).
Est-ce "une fois par seconde" une moyenne sur différents threads, ou tous sur un thread? Si tout est sur un thread, cela n'a pas d'importance, en effet, il peut même être plus rapide de garder l'objet de connexion ouvert, car il n'y aura pas de conflit pour l'un ou l'autre.Je considérerais certainement les résultats de la mise en cache, même si cela a des inconvénients dans l'utilisation de la mémoire, ainsi que des problèmes potentiellement compliqués concernant le moment où les résultats mis en cache doivent être actualisés - cela peut être trivial ou impossible selon ce que vous faites .
Il est également clairement question de faire un effort supplémentaire lors de l'optimisation.
Pouvez-vous nous dire pourquoi? Vous pourriez vous retrouver avec de gros problèmes si votre requête commence à prendre plus d'une seconde à s'exécuter. – darioo