MySQLi を使用した複数行の効率的かつ安全な挿入
MySQL データベースに大量の行を挿入するには、効率とセキュリティの両方が必要です。提供されている PHP コードに示されているように、単純なアプローチを使用すると、パフォーマンスの問題や SQL インジェクションの脆弱性が発生する可能性があります。
これらの懸念に対処するためのより最適な解決策は、トランザクション内で挿入を実行し、ステートメントを移動することです。ループ外での準備とバインディング:
$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");
この手法はテストされ、パフォーマンスが大幅に向上することが示されています。具体的には、元の方法では 10,000 件のレコードを挿入するのに 226 秒かかりましたが、最適化された方法ではわずか 2 秒でタスクが完了しました。これは効率が 2 桁向上したことを表します。
トランザクションを利用することで、データの整合性を維持し、SQL インジェクションから確実に保護しながら、一度に複数の行を挿入できます。このアプローチは速度とセキュリティの両方を提供し、大量のデータを MySQL データベースに効率的に挿入するための推奨される方法です。
以上がMySQL データベースに複数の行を効率的かつ安全に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。