CodeIgniter のモデル クラスを使用した一括挿入
大量のデータをデータベースに挿入するプロセスは、時間がかかる場合があります。従来、アプローチの 1 つは、一連の個別の挿入コマンドを実行することで、非効率的でリソースを大量に消費する可能性がありました。
このプロセスを最適化するために、単一のクエリを使用して複数の行を一度に挿入できます。 CodeIgniter では、これは Model クラスを使用して実現できます。
クエリの構築
単一のクエリで複数の行を挿入する鍵は、SQL ステートメントを正しく組み立てることにあります。 。各値を長い文字列に追加する代わりに、配列割り当て関数と implode 関数を使用できます。
$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);
クエリの実行
SQL ステートメントが構築されたら、Modelクラスのクエリを使用して実行できます。メソッド:
$this->db->query('INSERT INTO table (text, category_id) VALUES ' . $sql);
一括挿入の利点
一括挿入手法を使用すると、次のような利点があります。
以上がCodeIgniter のモデル クラスはデータベースの一括挿入をどのように最適化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。