CodeIgniter を使用した一括挿入: MySQL への大規模なデータ挿入の最適化
個別の挿入コマンドを使用して MySQL テーブルに大規模なデータセットを挿入すると、時間がかかる場合がありますそしてリソースを大量に消費します。効率を高めるには、単一のクエリを利用して複数の行を同時に挿入することを検討してください。この最適化は、数千のレコードを含むデータセットを扱う場合に特に有利です。
CodeIgniter フレームワークのコンテキストでは、implode() 関数と配列割り当てを利用して、単一の INSERT ステートメントを構築できます。このアプローチにより、不必要なコピー操作が最小限に抑えられ、速度とメモリ使用率が向上します。
CodeIgniter を使用してこれを実現する方法の例を次に示します。
$sql = array(); foreach($data as $row) { $sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')'; } mysql_query('INSERT INTO table (text, category) VALUES '.implode(',', $sql));
このアプローチには、個々のデータを含む配列の作成が含まれます。 value 句を作成し、次に implode() を使用してそれらを最後の INSERT ステートメントに連結します。連結の繰り返しを避けることで、一括挿入操作のパフォーマンスが大幅に向上します。
データセットに多数の列が含まれている場合は、implode() 関数内で内部ループを使用して、values 句を外部配列に割り当てることを検討してください。このアプローチにより、大規模で複雑なデータセットを操作する場合の INSERT ステートメントの構築がさらに最適化されます。
以上がCodeIgniter を使用して MySQL への一括データ挿入を最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。