大量のデータを MySQL データベースに安全かつパフォーマンスよく挿入することは、多くのアプリケーションにとって重要です。この質問では、SQL インジェクション保護を確保しながら 2000 行を効果的に挿入する手法について説明します。
提供されたコード スニペットは値の配列を反復処理し、挿入ごとに個別のクエリを準備して実行します。 SQL インジェクションに対しては安全ですが、このアプローチは非効率的でスタック オーバーフローが発生する可能性があります。
トランザクションを使用した拡張ソリューション:
より最適なソリューションには、MySQL トランザクションの利用が含まれます。挿入を 1 つのトランザクション内でグループ化することで、データベースはプロセスを最適化し、実行時間を大幅に短縮できます。
$array = array("array", "with", "about", "2000", "values"); $query = "INSERT INTO table (link) VALUES (?)"; $stmt = $mysqli->prepare($query); $stmt->bind_param("s", $one); $mysqli->query("START TRANSACTION"); foreach ($array as $one) { $stmt->execute(); } $stmt->close(); $mysqli->query("COMMIT");
パフォーマンスの比較:
この手法は、ベンチマーク テストで実証されたように、大幅な速度の向上:
これは、テスト ケースで 2 桁の大幅な速度向上を表します。
トランザクションを活用することで、効率的に挿入できます。 SQL インジェクションのセキュリティを維持し、スタック オーバーフローを回避しながら、データを一括で保存します。
以上がSQL インジェクションとスタック オーバーフローを防ぎながら、MySQL に 2000 行を効率的に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。