Das Schliessen einer MySQL-Verbindung
freddy
- php
Hallo.
Bisher habe ich MySQL-Verbindungen nie geschlossen.
Nun nutze ich MySQLi und ich frage euch: wie wichtig ist es MySQl-Verbindungen zu schliessen.
Sollte ich für jeden Query die Verbindung neu aufbauen + schliessen?
Liebe Grüße,
Freddy
Mahlzeit,
Nun nutze ich MySQLi und ich frage euch: wie wichtig ist es MySQl-Verbindungen zu schliessen.
Die wird automatisch nach Scriptende geschlossen bz.w wird die Verbindung, je nach EInstellung, v on PHP offengehalten.
Sollte ich für jeden Query die Verbindung neu aufbauen + schliessen?
Wenn du den Server unnötig belasten willst, dann tu das, aber von "Sinnvoll" ist das Lichtjahre entfernt ;)
Hello,
Sollte ich für jeden Query die Verbindung neu aufbauen + schliessen?
Wenn Du jedes Query an einen anderen Datenbankserver richten willst, dann ist das sinnvoll.
Die Verbindung sollte (in der PHP/Webumgebung) dann geschlossen werden, wenn sie bis zum Scriptende nicht mehr benötigt wird, oder aber, wenn Du soviele Verbindungen öffnen musst, dass die bereitstehende Kanalzahl sonst nicht ausreichen würde.
Am Scriptende sorgt PHP selber dafür, dass die Verbindung beendet wird, wenn Du sie nicht ganz dediziert als persistente Verbindung angefordert hattest.
Unabhängig davon, was automatisch geschieht, ist es sauberer, das Schließen von Dateien und sonstigen Verbindungen an geeigneter Stelle selber zu programmieren.
In diesem Zusammenhang sind vielleicht die Funktionen
http://www.php.net/manual/en/function.ignore-user-abort.php
und
http://www.php.net/manual/en/function.connection-aborted.php
usw.
für Dich von Interesse.
Bevor man mit PHP mehrere zusammenhängende Änderungen in Dateien oder Datenbanken beginnt, sollte man Ignore_User_Abort() auf 'true' setzen, damit die Änderungen vollständig durchgeführt werden.
Liebe Grüße aus Syburg
Tom vom Berg
Hi,
Sollte ich für jeden Query die Verbindung neu aufbauen + schliessen?
Das wäre in etwa so sinnvoll, wie ein Telefongespräch auf die Weise zu führen, dass du eine Frage stellst und dein Gegenüber antwortet, du dann auflegst, die gleiche Person erneut anrufst, du wieder die nächste Frage stellst, ... etc. pp.
MfG ChrisB