Heim >Datenbank >MySQL-Tutorial >Wie kann die Modellklasse von CodeIgniter Massendatenbankeinfügungen optimieren?
Masseneinfügung mit der Modellklasse von CodeIgniter
Das Einfügen großer Datenmengen in eine Datenbank kann ein zeitaufwändiger Prozess sein. Traditionell besteht ein Ansatz darin, eine Reihe einzelner Einfügebefehle auszuführen, was ineffizient und ressourcenintensiv sein kann.
Um diesen Prozess zu optimieren, ist es möglich, mit einer einzigen Abfrage mehrere Zeilen gleichzeitig einzufügen. In CodeIgniter kann dies mithilfe der Model-Klasse erreicht werden.
Konstruieren der Abfrage
Der Schlüssel zum Einfügen mehrerer Zeilen mit einer einzigen Abfrage liegt in der korrekten Zusammenstellung der SQL-Anweisung . Anstatt jeden Wert an eine lange Zeichenfolge anzuhängen, können Sie die Array-Zuweisungs- und Implodierungsfunktionen verwenden.
$data = [ ['text' => 'foo', 'category_id' => 1], ['text' => 'bar', 'category_id' => 2], // ... ]; $sql = []; foreach ($data as $row) { $sql[] = '("' . mysql_real_escape_string($row['text']) . '", ' . $row['category_id'] . ')'; } $sql = implode(',', $sql);
Ausführen der Abfrage
Sobald die SQL-Anweisung erstellt ist , können Sie es mit der Abfragemethode der Model-Klasse ausführen:
$this->db->query('INSERT INTO table (text, category_id) VALUES ' . $sql);
Vorteile von Bulk Einfügen
Die Verwendung von Masseneinfügungstechniken bietet mehrere Vorteile:
Das obige ist der detaillierte Inhalt vonWie kann die Modellklasse von CodeIgniter Massendatenbankeinfügungen optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!