2 Stimmen

c++ Mysql C API Verbindung Frage

Ich baue eine Anwendung, die Mysql verwendet, ich frage mich, was wäre der beste Weg, um die Verbindung zu den tatsächlichen Mysql-Server zu verwalten?

Ich bin noch in der Entwurfsphase, aber derzeit habe ich es Verbinden (oder Abbrechen, wenn Fehler) vor jeder Abfrage und Trennen nach, die nur zum Testen ist, wie im Moment ich nur 1 Abfrage ausführen, um zu sehen, wenn der Code, den ich bisher eingerichtet habe funktioniert.

Meine App führt vielleicht alle 5/10/20/30 Minuten einige Abfragen durch, je nach Einstellungen, und braucht bis dahin eigentlich nichts mit SQL zu tun.

Also ich frage mich, wenn seine mehr vorteilhaft, eine kontinuierliche Verbindung zu verwenden, die für die Lebensdauer der Anwendung (wenn möglich) oder einfach eine Verbindung zu Sql, bevor ich beabsichtige, es zu verwenden, tun, was die app dann tun muss, trennen?

2voto

Rik Heywood Punkte 13598

Eine einmalige Verbindung und die Durchführung vieler Abfragen sind natürlich effizienter.

Wenn jedoch die Leistung für Ihr Projekt keine große Rolle spielt, ist es vielleicht besser, den Code einfach zu halten (vor allem, wenn Sie die einzige Verbindung zur Datenbank sind).

Wenn Sie sich schlau machen wollen, können Sie die Verbindung bei Bedarf herstellen und dann so lange aufrechterhalten, bis Sie keine Abfragen mehr machen. Z.B. die Verbindung unterbrechen, wenn 30 Sekunden lang keine Abfragen erfolgt sind oder ähnliches.

1voto

LnxPrgr3 Punkte 2596

Wie viele Instanzen dieser Anwendung werden sich mit MySQL verbinden? Wenn es nur eine ist, sollte das Offenhalten einer MySQL-Verbindung der Einfachheit halber keine Probleme verursachen, aber denken Sie daran, dass es eine (konfigurierbare) Grenze für die Anzahl der MySQL-Verbindungen gibt, die Sie zum Server offen haben können. In diesem Fall würde ich empfehlen, eine Verbindung zu öffnen, die Abfragen auszuführen, die Sie benötigen, und sie dann zu schließen. Eine Verbindung pro Abfrage führt zu mehr Overhead, wenn Sie Ihrer Anwendung Abfragen hinzufügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X