2 Stimmen

Übertragung des MySQL-Datenbank-Links über mehrere PHP-Seiten hinweg

Gibt es irgendwelche Tricks, um die Ressourcenlinks über mehrere PHP-Seiten hinweg zu übertragen und/oder gemeinsam zu nutzen? Ich möchte nicht, dass der Server weiterhin eine Verbindung zur Datenbank herstellt, nur um einen anderen Link zu demselben Benutzer in derselben Datenbank zu erhalten.

Denken Sie daran, dass der von mysql_connect() zurückgegebene Link automatisch geschlossen wird, nachdem das Skript, von dem er stammt, seine Ausführung beendet hat. Gibt es eine Möglichkeit, ihn stattdessen am Ende jeder Sitzung manuell zu schließen?

4voto

Frank Farmer Punkte 36602

PHP erlaubt persistente mysql-Verbindungen, aber es gibt Nachteile . Am wichtigsten ist jedoch, dass untätige Apache-Kinder am Ende herumstehen und untätige Datenbankverbindungen offen halten. Datenbankverbindungen nehmen eine ordentliche Menge an Speicher in Anspruch, so dass man sie wirklich nur dann offen haben möchte, wenn sie tatsächlich genutzt werden.

Wenn Ihr Benutzer jede Minute eine Seite öffnet, ist es viel besser, die Datenbankverbindung für die 59 Sekunden jeder Minute, in der Sie sie nicht benutzen, geschlossen zu halten und sie bei Bedarf wieder zu öffnen, als sie ständig offen zu halten.

Stattdessen sollten Sie sich lieber mit dem Pooling von Verbindungen befassen.

0voto

Alister Bulman Punkte 33148

Einer der Vorteile von Mysql gegenüber anderen schwergewichtigen Datenbankservern ist, dass die Verbindungen billig und schnell einzurichten sind.

Wenn Sie sich Sorgen über eine große Anzahl von Verbindungen zum Abrufen der gespeicherten Informationen machen, sollten Sie stattdessen die Zwischenspeicherung von Informationen oder das Abrufen der Informationen von der Festplatte in Betracht ziehen. Wie üblich wird Ihnen die Erstellung eines Profils über die Anzahl und die Art der SQL-Aufrufe viel mehr Aufschluss darüber geben, was Sie als Nächstes tun sollten, als wenn jemand hier raten würde.

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