Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Persistent vs. Non-Persistent – ​​Was soll ich verwenden?

Bei dauerhaften Verbindungen:

  • Sie können die Transaktionsverarbeitung nicht effektiv aufbauen
  • unmögliche Benutzersitzungen auf derselben Verbindung
  • app sind nicht skalierbar. Mit der Zeit müssen Sie es möglicherweise erweitern, und es erfordert die Verwaltung/Verfolgung von dauerhaften Verbindungen
  • Wenn das Skript, aus welchen Gründen auch immer, die Sperre der Tabelle nicht aufheben konnte, werden alle folgenden Skripte auf unbestimmte Zeit blockiert und man sollte den DB-Server neu starten. Bei Verwendung von Transaktionen wird der Transaktionsblock auch an das nächste Skript übergeben (das dieselbe Verbindung verwendet), wenn die Skriptausführung endet, bevor der Transaktionsblock abgeschlossen ist usw.

Persistente Verbindungen bringen nichts, was man mit nicht-persistenten Verbindungen machen kann.
Warum sollte man sie dann überhaupt verwenden?
Der einzig mögliche Grund ist die Leistung, sie zu verwenden, wenn es um den Aufwand geht, einen Link zu erstellen Ihr SQL Server ist hoch. Und das hängt von vielen Faktoren ab, wie:

  • Datenbanktyp
  • ob sich der MySQl-Server auf demselben Rechner befindet und wenn nicht, wie weit entfernt? könnte sich außerhalb Ihres lokalen Netzwerks / Ihrer Domäne befinden?
  • wie stark die Maschine, auf der MySQL sitzt, durch andere Prozesse überlastet ist

Man kann immer persistente Verbindungen durch nicht-persistente Verbindungen ersetzen. Es könnte die Leistung des Skripts ändern, aber nicht sein Verhalten!

Kommerzielle RDMS werden möglicherweise nach der Anzahl der gleichzeitig geöffneten Verbindungen lizenziert, und hier können die dauerhaften Verbindungen missservieren