Einfügen mehrerer Zeilen in PHP PDO MySQL: Codevergleich und -optimierung
Beim Umgang mit der Notwendigkeit, mehrere Zeilen in eine MySQL-Tabelle einzufügen mit PHP PDO können Entwickler auf zwei Hauptansätze stoßen.
Ansatz 1:
$stmt = $db->prepare($sql); foreach($rows as $row){ $stmt->execute($row); }
Ansatz 2:
$sql = "insert into `table_name` (col1, col2, col3) values "; $sql .= //not sure the best way to concatenate all the values, use implode? $db->prepare($sql)->execute();
Codeleistung und Sicherheit:
Beide Ansätze sind realisierbar, unterscheiden sich jedoch hinsichtlich der Ausführungsgeschwindigkeit und Sicherheit.
Ansatz 1:
Ansatz 2:
Entscheidung für bester Ansatz:
Der optimale Ansatz hängt von der Größe des einzufügenden Datensatzes ab. Für kleine Datensätze ist jede Methode geeignet. Für große Datensätze, bei denen es auf die Geschwindigkeit ankommt, wird Ansatz 2 mit parametrisierten Abfragen empfohlen.
Zusätzliche Optimierung:
Das Batch-Einfügen in Ansatz 2 kann durch Verketten der weiter optimiert werden Platzhalter vor der Ausführung der Abfrage:
$sqlArray = array(); foreach($rows as $row){ $sqlArray[] = '(' . implode(',', array_fill(0, count($row), '?')) . ')'; } $sql .= implode(',', $sqlArray);
Dadurch wird die Anzahl der Platzhalter, die vor der Ausführung gebunden werden müssen, erheblich reduziert, was die Leistung verbessert.
Das obige ist der detaillierte Inhalt vonWelcher Ansatz ist besser zum Einfügen mehrerer Zeilen in PHP PDO MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!