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?
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.
Tags und Links php mysql prepared-statement pdo