Zu Lernzwecken vielleicht ja. Aber in einer realen Anwendung, die in einer Produktionsumgebung läuft, ist das überhaupt keine ideale Situation.
Normalerweise möchten Sie immer einen Verbindungspool zwischen Ihrer Anwendung und der Datenbank haben. Unabhängig davon, welche Sprache/Datenbank Sie verwenden, ist dies eine gängige Lösung.
Ein Datenbankverbindungspool hält eine Reihe von Verbindungen offen. Die Anwendungsschicht nimmt einfach eine Verbindung, die nicht verwendet wird, die Verbindungen werden freigegeben, wenn die Anwendungsschicht sie nicht mehr benötigt. Mit "freigegeben" meine ich, dass sie in den Pool zurückgebracht werden, um wieder verwendet zu werden.
Unterm Strich werden Verbindungen nicht per Anfrage geöffnet/geschlossen. Sie werden vom/zum Datenbankverbindungspool erfasst/freigegeben.
Bei Python und mysql könnten Sie beispielsweise PySQLPool wählen .