PDO :: Abfrage vs. PDOStatement :: execute (PHP und MySQL)

8

Ich habe die PDO-Klasse erweitert, um eine einfache DB-Klasse zu erstellen und verwende prepare + execute für alle Abfragen, die in der Datenbank ausgeführt werden, auch solche, die keine Parameter haben (z. B. SELECT * FROM table).

Die Frage ist: Gibt es einen Leistungsvorteil, PDO :: query für einfache Abfragen zu verwenden, die keine Parameter haben, anstatt prepare / execute?

    
pmm 10.02.2012, 19:00
quelle

2 Antworten

8

Ja, denn wenn Sie PDO::prepare aufrufen, muss der Server einen Abfrageplan und Metainformationen für diese Abfrage erstellen. Dann gibt es einen zusätzlichen Aufwand, um die angegebenen Parameter zu binden, wenn Sie PDO::execute verwenden. Um diesen Overhead zu sparen und die Leistung zu verbessern, können Sie PDO::query für Abfragen ohne Parameter verwenden.

Je nach Umfang und Größe Ihrer Anwendung und Ihrer Server / Host-Konfiguration (shared / private) kann es jedoch zu Leistungsverbesserungen kommen oder auch nicht.

    
nickb 10.02.2012, 19:04
quelle
1

Es gibt einen messbaren Unterschied zwischen zwei Dingen in PHP. Sie sollten den Wert jeder Methode für Sie bewerten und Testfälle erstellen, um zu sehen, ob es sich für Sie lohnt, die Dinge auf die eine oder andere Weise zu tun.

    
PFY 10.02.2012 19:52
quelle

Tags und Links