Die Parameter sind eine Features des
DBMS.
Beispiel Insert von mehreren Datensätzen
1. ohne Parameter:
SQL-Code:
insert into person ( name, vorname) values ( 'Puff', 'Michael');
insert into person ( name, vorname) Values ( 'Kinzler', 'Markus');
Es wird zuerst die 1. Abfrage an das
DBMS gesendet, diese wird geparst und eine Abfargeplan gebildet.
Entsprechend für jeden weiteren Insert.
2. mit Parameter:
insert into person ( name, vorname) values ( :name, :vorname);
Es wird die Abfrage mit Platzhalter und nicht mit konkreten Werten an das
DBMS gesendet. Dieses parst sie, bildet einen Plan und erzeugt die Parameter.
Beim eigentlichen Insert werden dann nur die Werte für die Parameter an das
DBMS gesendet und die Abfrage mit diesen werten ausgeführt.
Das ist deutlich schneller, da die Abfrage nur einmal geparst und der Plan nur einmal ermittlet werden muss.
Ausserdem wird so wie erwähnt das Risiko von
sql injection verringert.