ホームページ >バックエンド開発 >PHPチュートリアル >CodeIgniter は大規模なデータセットの MySQL 行挿入をどのように最適化できますか?
CodeIgniter フレームワークを使用した最適化された行挿入
複数の行を効率的に挿入する
大規模なデータセットを挿入するMySQL テーブルは、各行が個別に挿入されます。効率を高めるには、単一のクエリを使用して約 1000 行を同時に挿入することを検討してください。 CodeIgniter は、このプロセスを容易にするために必要な関数を提供します。
配列ベースの挿入に Implode を利用する
複数の行を挿入する単一の INSERT ステートメントを構築するには、行データの配列を使用した implode() 関数。このアプローチにより、不必要な文字列処理とメモリ消費が大幅に削減されます。その仕組みは次のとおりです。
$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));
Implode ベースの挿入の利点
単一の文字列内の値を連結する場合と比較して、このメソッドは繰り返しを行わずに INSERT ステートメントを効率的に構築します。コピーすること。 PHP は、implode() 操作中に 1 回だけ連結を実行するため、パフォーマンスが大幅に向上します。
複数の列による挿入の最適化
テーブルに多数の列があり、 1 つ以上が長くなる場合は、内部ループを利用して行値の配列を構築することを検討してください。その後、implode() を使用して、values 句を外側の配列に割り当て、クエリの効率を高めることができます。
以上がCodeIgniter は大規模なデータセットの MySQL 行挿入をどのように最適化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。