stefanwe wrote:Das ist viel schneller wenn du in deinen Script immer wieder kommst und die DB abfragst.
Ich denke, das sollte man nicht so pauschalisieren. Eine persistente Verbindung KANN (unter gewissen Gegebenheiten) einen Geschwindigkeitsvorteil bringen.
Das PHP Manual sagt im Bereich
"persistente Datenbankverbindungen" folgendes:
Persistente Verbindungen sind nützlich, wenn der Aufwand für das Herstellen einer Verbindung zu einem SQL-Server hoch ist. Ob dies der Fall ist oder nicht, hängt von vielen Faktoren ab - zum Beispiel, um welche Datenbank es sich handelt, ob sie auf dem gleichen Rechner wie der Webserver läuft oder welche Last die SQL-Maschine zu bewältigen hat usw. Grundsätzlich gilt, dass, wenn viele Verbindungen hergestellt werden müssen, persistente Verbindungen außerordentlich hilfreich sind.
Beim XAMPP-Paket sind MySQL-Server und Apache-HTTP-Server auf derselben Maschine. Die Kommunikationswege sind dort also sehr kurz.
Vorteile erarbeitet sich eine persistente Verbindung bei vielen Verbindungsauf- und abbauten am selben Host mit denselben Verbindungsdaten.
Dies wird aber mit einem erhöhten Speicherverbrauch, einer Mehrzahl offener Verbindungen und Einschränkungen bezüglich Sperren von Tabellen und Transaktionen bezahlt.
Besser ist es, wenn Sie dieses Problem gänzlich vermeiden, indem keine persistenten Verbindungen in Skripten benutzen, welche Tabellen sperren oder Transaktionen verwenden
Wenn du Benchmarks hast, die untermauern, dass mysql_pconnect
viel schneller ist (deine Worte), interessiere ich mich natürlich dafür diese zu lesen.
Vorallem halte ich es für unangebracht mysql_pconnect bei einem Thread wie diesem zu empfehlen, wo absolut kein Hinweis über die Anzahl der Verbindungsaufbauten gegeben wird.
Meine persönliche Meinung ist, dass man in den meisten Fällen durch Optimierung von SQL-Abfragen deutlich mehr Performance gewinnen kann, als durch die Frage persistente Verbindung oder nicht. Aber diese These mag ich auchnicht durch stichhaltige Beweise untermauern.