Soll ich vorbereitete Anweisungen für MySQL in PHP PERFORMANCE-WISE verwenden?

Ich verstehe die Sicherheitsvorteile von vorbereiteten Anweisungen in MySQL. Das Thema muss hier nicht behandelt werden. Ich wundere mich über den Leistungsaspekt von ihnen.

Jetzt weiß ich, dass eine Abfrage, die eine vorbereitete Anweisung verwendet, zweimal in einem einzelnen PHP-Skript ausgeführt wird, schneller ist, da die Abfrage nur einmal analysiert wird, einmal für jede Abfrage. Der Client unternimmt eine Reise zur Vorbereitung und sendet die Daten dann zweimal unter Verwendung des Binärprotokolls. Das Binärprotokoll ist schneller und Sie müssen nicht ein zweites Mal analysieren.

Was ist jedoch mit dem Fall, dass ich eine Abfrage nur einmal in einem einzelnen PHP-Skript ausführen möchte? Die Verwendung einer vorbereiteten Anweisung scheint schlechter zu sein, da Sie zwei Trips zum Server durchführen, einmal zur Vorbereitung und einmal zum Senden der Daten. Der Vorteil, nur einmal analysieren zu müssen, geht verloren und Sie werden für diese zweite Reise bestraft. Wenn die Daten im Binärformat nicht ausreichend klein sind, verlieren Sie mit einer vorbereiteten Anweisung, oder?

Ich habe jedoch einige widersprüchliche Berichte darüber gelesen, was die mysqli- oder PDO-Bibliotheken von PHP tun. Zwischenspeichern beide die vorbereitete Anweisung während der Skriptausführung? Muss der Server die vorbereitete Anweisung bei einem nachfolgenden Seitenaufruf erneut analysieren oder nicht? Wenn die Antwort nein ist, dass die Anweisung beim zweiten Laden nicht analysiert werden muss, dann scheinen vorbereitete Anweisungen besser zu sein, selbst wenn Sie die Abfrage nur einmal pro Laden ausführen.

Bitte berücksichtigen Sie, ob sich diesbezüglich zwischen den Versionen von MySQL etwas geändert hat. Sie können davon ausgehen, dass ich PHP 5.2 verwende

BEARBEITEN: Um es klar zu machen, ich möchte eine Antwort speziell für MySQL und PHP, unter Angabe der MySQL-Version und falls dies jemals anders war, und NUR die Leistung, nicht die Benutzerfreundlichkeit oder die Sicherheit berücksichtigen.

UPDATE: Ich akzeptierte die Antwort, die ich aufgrund des Folgekommentars gab, und hatte ein paar gute Ideen. Ich bin immer noch ein bisschen enttäuscht, dass niemand in der Lage zu sein scheint, den Kern der tatsächlichen Frage, die ich gestellt habe, mit Sicherheit zu beantworten. Ich denke, manchmal lautet die Antwort wirklich "es kommt darauf an".

Antworten auf die Frage(5)

Ihre Antwort auf die Frage