Das Client/Server-Protokoll von MySQL ermöglicht auch
vorbereitete Anweisungen. Diese nutzen die Datenstruktur eines
MYSQL_STMT
-Anweisungs-Handles, der von der
Initialisierungsfunktion mysql_stmt_init()
zurückgegeben wird. Die vorbereitete Ausführung ist ein
effizientes Mittel, um eine Anweisung mehrmals laufen zu lassen.
Zuerst wird sie geparst, um sie auf die Ausführung
vorzubereiten, und später wird sie einmal oder mehrmals
mithilfe des von der Initialisierungsfunktion zurückgelieferten
Anweisungs-Handles benutzt.
Die vorbereitete Ausführung ist für Anweisungen, die mehrmals laufen, schneller als eine direkte Ausführung, da die Anfrage nur ein einziges Mal geparst werden muss. Bei einer direkten Ausführung muss die Anfrage dagegen jedes Mal von Neuem geparst werden. Eine vorbereitete Ausführung kann außerdem die Netzwerklast reduzieren, da bei jeder Ausführung der vorbereiteten Anweisung lediglich die Parameterdaten übermittelt werden müssen.
Ein weiterer Vorteil vorbereiteter Anweisungen besteht darin, dass sie ein Binärprotokoll benutzen, das den Datentransfer zwischen Client und Server effizienter gestaltet.
Die folgenden Anweisungen können als vorbereitete Anweisungen
verwendet werden: CREATE TABLE
,
DELETE
, DO
,
INSERT
, REPLACE
,
SELECT
, SET
,
UPDATE
und die meisten
SHOW
-Anweisungen. Andere Anweisungen werden
in MySQL 5.1 nicht unterstützt.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.