ホームページ >データベース >mysql チュートリアル >PHP PDO MySQL に複数の行を挿入するにはどのアプローチが適していますか?
PHP PDO MySQL での複数行の挿入: コードの比較と最適化
次を使用して MySQL テーブルに複数の行を挿入する必要がある場合PHP PDO、開発者は 2 つの主要な問題に遭遇する可能性があります。
アプローチ 1:
$stmt = $db->prepare($sql); foreach($rows as $row){ $stmt->execute($row); }
アプローチ 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();
コードのパフォーマンスと安全性:
どちらのアプローチも
アプローチ 1:
アプローチ 2:
オプション最適なアプローチ:
最適なアプローチはデータセットのサイズによって異なります挿入されている。小規模なデータセットの場合は、どちらの方法も適しています。速度が重要な大規模なデータセットの場合は、パラメーター化されたクエリを使用するアプローチ 2 をお勧めします。
追加の最適化:
アプローチ 2 のバッチ挿入は、クエリを実行する前のプレースホルダー:
$sqlArray = array(); foreach($rows as $row){ $sqlArray[] = '(' . implode(',', array_fill(0, count($row), '?')) . ')'; } $sql .= implode(',', $sqlArray);
これにより、クエリの数が大幅に削減されます。実行前にバインドする必要があるプレースホルダーを使用して、パフォーマンスを向上させます。
以上がPHP PDO MySQL に複数の行を挿入するにはどのアプローチが適していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。