Verbindung jedes mal schließen, oder offen halten
Timo
- datenbank
0 Christian Kruse0 Timo0 Christian Kruse0 Tom
0 Auge1 Christian Kruse0 Auge
0 Tom0 Ludger
Hallo,
ich habe eine Seite deren Inhalte aus einer Datenbank kommt. Sollte man eine Datenbankverbindung (mySQL) eigentlich nach jeder Abfrage schließen, oder ist es sinnvoller sie offen zu halten, da sie eh auf jeder Seite gebraucht wird.
mfg timo
你好 Timo,
ich habe eine Seite deren Inhalte aus einer Datenbank kommt. Sollte man
eine Datenbankverbindung (mySQL) eigentlich nach jeder Abfrage schließen,
oder ist es sinnvoller sie offen zu halten, da sie eh auf jeder Seite
gebraucht wird.
Die Umstaende musst du genauer beschreiben. Was meinst du mit “offen
halten”? Was meinst du mit “nach jeder Abfrage schliessen”?
再见,
CK
Hallo
Die Umstaende musst du genauer beschreiben. Was meinst du mit “offen
halten”? Was meinst du mit “nach jeder Abfrage schliessen”?
Es ist ein kleines CMS, wo wirklich nach jeder Aktion des Benutzers eine Datenbankabfrage stattfindet. Es ist auch nicht so, das sich der Benutzer lange auf einer Seite befindet, sondern eher schnell seine Sachen administriert und dann verschwindet, deshalb weiß ich nicht ob ich die Datenbankverbindung offen lassen soll oder immer wieder schließen soll?
mfg timo
你好 Timo,
Die Umstaende musst du genauer beschreiben. Was meinst du mit “offen
halten”? Was meinst du mit “nach jeder Abfrage schliessen”?Es ist ein kleines CMS, wo wirklich nach jeder Aktion des Benutzers eine
Datenbankabfrage stattfindet. Es ist auch nicht so, das sich der Benutzer
lange auf einer Seite befindet, sondern eher schnell seine Sachen
administriert und dann verschwindet, deshalb weiß ich nicht ob ich die
Datenbankverbindung offen lassen soll oder immer wieder schließen soll?
Was bedeutet denn «nach jeder Abfrage schliessen»? Fuer die Dauer des
Requests kannst du doch problemlos die Verbindung offen halten, da spricht
ja nichts gegen.
Wenn du persistente Datenbank-Verbindungen benutzt (also mit mysql_pconnect
arbeitest) solltest du aber Zugriff auf die Server-Konfiguration haben, da
dann doch ein wenig Fein-tuning angesagt ist -- sonst kommt es zu lustigen
Fehlermeldungen wie “Max. number of connections exceeded”.
再见,
CK
Hello,
Wenn du persistente Datenbank-Verbindungen benutzt (also mit mysql_pconnect
arbeitest) solltest du aber Zugriff auf die Server-Konfiguration haben, da
dann doch ein wenig Fein-tuning angesagt ist -- sonst kommt es zu lustigen
Fehlermeldungen wie “Max. number of connections exceeded”.
Davor kommt es bei den Meisten noch zu
"10 is not a valid mysql-result ressource" oder so ähnlich
Dann wurde vergessen, die Result-Handler auch wieder zurückzugeben, bevor man sie erneut benutzt.
Das ist nämlich der Nebeneffekt einer persistenten Verbindung, dass man besonders sauber arbeiten muss, was das Ressourcen-Handling betrifft. Es gibt dann ja niemanden, der einem das abnimmt.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo
ich habe eine Seite deren Inhalte aus einer Datenbank kommt. Sollte man eine Datenbankverbindung (mySQL) eigentlich nach jeder Abfrage schließen, oder ist es sinnvoller sie offen zu halten, da sie eh auf jeder Seite gebraucht wird.
So ich nicht irre, werden Datenbankverbindungen, die mit serverseitigen Skripten geöffnet wurden, bei Skriptende automatisch geschlossen. Sie müssen also in einem anderen Skript oder bei Neuaufruf eines Skripts auch neu geöffnet werden.
Tschö, Auge
你好 Auge,
So ich nicht irre, werden Datenbankverbindungen, die mit serverseitigen
Skripten geöffnet wurden, bei Skriptende automatisch geschlossen.
Du irrst. Es gibt in fast jeder Sprache Mechanismen Datenbank-Verbindungen
persistent anzulegen, bei PHP waere das mysql_pconnect im MySQL-Fall.
再见,
CK
Hallo
So ich nicht irre, werden Datenbankverbindungen, die mit serverseitigen
Skripten geöffnet wurden, bei Skriptende automatisch geschlossen.Du irrst. Es gibt in fast jeder Sprache Mechanismen Datenbank-Verbindungen
persistent anzulegen, bei PHP waere das mysql_pconnect im MySQL-Fall.
Das stimmt natürlich. Ich brauchte die persistente Verbindung bisher noch nicht, so ließ sich diese Möglichkeit leicht verdrängen.
Tschö, Auge
Hello,
ich habe eine Seite deren Inhalte aus einer Datenbank kommt. Sollte man eine Datenbankverbindung (mySQL) eigentlich nach jeder Abfrage schließen, oder ist es sinnvoller sie offen zu halten, da sie eh auf jeder Seite gebraucht wird.
Das hängt davon ab, wieviele User Du für Datenbankzugriffe einrichtest unst benutzt.
Der PHP-Normalprogrammierer lässt ohnehin alle Queries unter ein und demselben User ausführen.
Es gibt eine persistente Datenbankverbindung http://de2.php.net/manual/de/function.mysql-pconnect.php, deren Vorteil aber sehr stark von den Belastungszuständen abhängig ist.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
ich habe eine Seite deren Inhalte aus einer Datenbank kommt. Sollte man eine Datenbankverbindung (mySQL) eigentlich nach jeder Abfrage schließen, oder ist es sinnvoller sie offen zu halten, da sie eh auf jeder Seite gebraucht wird.
"schnellstmoeglich zumachen die Verbindung" ist die richtige Antwort. Also auf jeden Fall "nach" Ausfuehren des Scripts, also typischerweise am "Scriptende".
Gruss,
Ludger