Mysql Datenbank Verbindung dauerhaft halten?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Pytoniac
User
Beiträge: 7
Registriert: Montag 13. August 2012, 09:53

Hi,

ich bin momentan dabei, einen Serverdienst zu schreiben. In diesem Dienst werden je nach Aufruf eines Clients auch einige Mysql SELECTs, UPDATEs und DELETEs ausgefuehrt.

Ich habe noch nicht viel mit Mysql bzw. mit dem Modul MySQLdb gemacht. Soll ich fuer jeden Query eine neue Connection aufmachen und dementsprechend wieder schliessen oder einmal beim Start des Servers eine Connection und beim beenden des Servers eben ein Close?

Gruesse
Pytoniac
BlackJack

@Pytoniac: Die Antwort hängt ein wenig vom Zugriffsmuster ab. Wenn ständig auf die DB zugegriffen wird, dann würde ich die Verbindung(en) offen halten. Wenn nur alle x Stunden zugegriffen wird, dann würde ich die Verbindungen schliessen. Wenn alle x Stunden für einen längeren Zeitraum intensiv zugegriffen wird, dann eine Mischform.

In der Praxis benutze ich SQLAlchemy und was auch immer dort im Hintergrund gemacht wird, und kümmere mich um solche Feinheiten erst, wenn auch tatsächlich und nachweislich Probleme auftauchen.
Pytoniac
User
Beiträge: 7
Registriert: Montag 13. August 2012, 09:53

Zugriffe koennen im Minutentakt/Sekundentakt erfolgen (Multithreaded Server). Kann allerdings auch mal einige Stunden garnichts passieren...
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

wie BlackJack sagt: SQLAlchemy nutzen und damit die Vorteile des Connection Poolings im Hintergrund. Mal abgesehen davon, dass SA noch andere Annehmlichkeiten bietet ;-)

Gruß, noisefloor
Antworten