Ich muss eine einfache Abfrage durchführen.
Alles, was ich tun muss, ist:
%Vor%Wenn ich PHP PDO verwende, das ich gelesen habe, ist die empfohlene Methode, um eine Verbindung zu einer MySQL-Datenbank herzustellen, genügt es, die Verbindung zu erstellen, wenn Sie 610ms haben.
Mein Code ist unten:
%Vor%Frage : Was ist der schnellste Weg für mich, eine Verbindung zu meiner MySQL-Datenbank herzustellen, um die obige Abfrage durchzuführen?
Schnellstmöglich:
%Vor%[EDIT]: Verwenden Sie nun mysqli anstelle von mysql.
Wenn die Langsamkeit darauf zurückzuführen ist, dass für jede Verbindung das Netzwerk erreicht werden muss und mysql eine umgekehrte DNS-Suche durchführen muss, um seine GRANTs-Tabelle zu überprüfen, könnte dieser Overhead sehr wohl einen großen Teil der Latenz ausmachen. Durch den Wechsel zu persistenten Verbindungen würde dies zu einmaligen Kosten für die Lebensdauer der Verbindung führen.
Dies führt jedoch zu anderen Problemen. Da Transaktionen zurückgesetzt werden und Sperren aufgehoben werden, wenn die Verbindung, die sie enthält, geschlossen wird, bedeutet Persistent, dass sie aktiv bleiben. Ohne große Sorgfalt in Ihrem Code, um die Verbindung nicht in einem inkonsistenten Zustand zu lassen, können Sie sehr gut einen Deadlock erstellen oder zumindest alle anderen Verbindungen sperren, bis Sie manuell einsteigen und aufräumen.
Guess PDO ist so schnell wie MYSQLI. Ich denke dein Problem ist, wie du dich mit PDO verbindest. Wahrscheinlich sieht Ihre Verbindungskette wie folgt aus:
%Vor%Und da ist das Problem ... PDO versucht sich mit localhost zu verbinden, aber PDO benutzt den DNS um localhost in 127.0.0.1 umzuwandeln und das kostet Zeit. Wenn Sie 127.0.0.1 direkt verwenden, haben Sie diese Probleme nicht mehr :) Also muss der Verbindungsstring aussehen wie
%Vor%Tags und Links php mysql performance pdo