Es hängt von der Situation ab.
Wenn Sie vorhaben, mehrere Anweisungen in einer Zeile zu der Ausführung, dann sind Sie besser dran, Performance-weise es einmal zu öffnen, führen Sie alle Anweisungen, und schließen Sie es dann,
Wenn Sie Nach dem Öffnen der Verbindung fragen, wenn das Programm startet, und es offen halten, bis das Programm geschlossen wird, unabhängig davon, was vor sich geht. Schließen Sie es, sobald Sie damit fertig sind. Es ist besser, keine Verbindung offen zu lassen. Ein anderer Faktor, an den die Leute nie zu denken scheinen, ist der Wartungsprogrammer, der später mitläuft, der den Code verfolgen und verfolgen muss, wo die Verbindung geöffnet ist und wann sie geschlossen wird. Nehmen wir beispielsweise an, Sie haben ein Programm, das auf eine Datenbank zugreift und dann in mehrere andere Funktionen verzweigt, von denen jede die Verbindung benötigt. Dieses Zeug im Code zu verfolgen ist ein Albtraum.
Dieser Faktor ist jedoch sekundär zu ordnungsgemäßem Betrieb und Leistung, aber immer noch etwas in einer komplexen App zu berücksichtigen.
Der Hauptfaktor ist, wie sich dies auf die Leistung auswirkt, im Gegensatz zu dem Zweck, eine Verbindung offen zu halten. Sie müssen das in jeder Situation entscheiden.
Welche Art von Anwendung (Forms, ASP.NET etc) und welche Art von Architektur (SOA usw.) verwenden Sie - nach David, wird es abhängen. – StuartLC