Moin!
Ist das schlecht? Sollte ich besser nach jeder Abfrage die Verbindung wieder schließen, oder wirkt sich das nachteilig auf die Geschwindigkeit aus?
habe mal gelesen dass die verbindung nach der ausführung des scripts automatisch beendet wird, das manuelle schließen ist aber standartkonform sozusagen "guter ton" - ich tue es aber auch nie ;p
Es ist deutlich unperformanter, in einem einzelnen Skript vor jeder Abfrage die Verbindung zur Datenbank herzustellen und sie nachher direkt wieder zu schließen. Der Verbindungsaufbau kostet Zeit, außerdem löscht der zwischenzeitliche Abbau der Verbindung Caching-Puffer (relevant, falls z.B. die gleiche Abfrage wiederholt wird), und wichtige Features würden auch nicht mehr funktionieren (die Abfrage der gerade eingefügten ID durch ein INSERT ist an die bestehende Verbindung gebunden).
Es ist auf der anderen Seite jedoch eine potentiell gute Idee, die Verbindung (auch automatisch durch PHP) zu beenden, weil dadurch Ressourcen der Datenbank freigegeben werden, die von anderen Instanzen oder Threads des Webservers mit anderen Skriptaufrufen wieder benötigt werden. Eine Datenbank unterstützt genausowenig wie der Webserver unlimitiert viele parallele Verbindungen. Deshalb ist es beispielsweise keine gute Idee, pauschal für "mehr Performance[TM]" einfach pconnect() statt connect() einzusetzen.
- Sven Rautenberg
"Love your nation - respect the others."