2009-03-30 4 views
2

Gibt es Tricks zum Übertragen und/oder Teilen der Ressourcen-Links über mehrere PHP-Seiten hinweg? Ich möchte nicht, dass der Server weiterhin mit der Datenbank verbunden wird, nur um eine weitere Verbindung zu demselben Benutzer in derselben Datenbank zu erhalten.MySQL-Datenbank-Link über mehrere PHP-Seiten hinweg übertragen

Denken Sie daran, dass der von mysql_connect() zurückgegebene Link automatisch geschlossen wird, nachdem das Skript, von dem er stammt, die Ausführung beendet. Gibt es trotzdem eine manuelle Schließung am Ende jeder Sitzung?

Antwort

4

PHP ermöglicht dauerhafte mysql-Verbindungen, aber there are drawbacks. Am wichtigsten ist, dass untätige Apache-Kinder am Ende herumsitzen und leere Datenbankverbindungen offen halten. Datenbankverbindungen benötigen eine anständige Menge an Speicher, sodass Sie sie nur dann geöffnet haben möchten, wenn sie tatsächlich verwendet werden.

Wenn Ihr Benutzer jede Minute eine Seite öffnet, ist es viel besser, die Datenbankverbindung für die 59 Sekunden jeder Minute, die Sie nicht verwenden, zu schließen und bei Bedarf erneut zu öffnen, als sie offen zu halten ständig.

Stattdessen sollten Sie wahrscheinlich Verbindungspooling untersuchen.

0

Einer der Vorteile von Mysql gegenüber anderen schwergewichtigen Datenbankservern besteht darin, dass Verbindungen kostengünstig und schnell einzurichten sind.

Wenn Sie über eine große Anzahl von Verbindungen besorgt sind, um die Sicherungsinformationen abzurufen, können Sie sich Informationen wie das Zwischenspeichern von Informationen oder das Abrufen der Informationen von der Festplatte ansehen. Wie üblich, wird das Profiling der Anzahl und Art der Aufrufe von SQL, die gemacht werden, Ihnen sagen, dass Sie sehr viel mehr sind als jeder, der hier rät, was Sie als nächstes wirklich tun sollten.