Prepared Statements klingen im ersten Augenblick nicht schlecht, aber wenn ich sie bei meinen 500.000 Inserts anwende, dann benötige ich dieselbe Zeit
Ich benutze PDO unter PHP als Test.
Kann es sein, dass es nur etwas bei SELECTs bringt? Im Internet gibt es aber auch viele Beispiele auf INSERTs.
Was mich auch in der Theorie überzeugt, aber nicht in der Praxis, sind die Transaktionen.
Also das, dass die 500.000 Insert-Befehle auf einmal nach der Schleife an die
DB geschickt werden können und nicht jedesmal neu nach einem der 500.000 Querys ("beginTransaction" vor der Schleife und "Commit" danach). Habe ich das falsch verstanden?
Zu den "Stored Procedures": Macht das Sinn, wenn man eh lokal auf dem
DB-Server arbeitet und so keine Netzlast erzeugt?
Ich habe folgenden PHP-Code verwendet:
<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
$dbh->beginTransaction();
for ($i=0;$i<500000;$i++) {
$name = 'one';
$value = 1;
$stmt->execute();
}
$dbh->commit();
?>