ホームページ > データベース > mysql チュートリアル > MySQL データベースに複数の行を効率的かつ安全に挿入するにはどうすればよいですか?

MySQL データベースに複数の行を効率的かつ安全に挿入するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-12 11:55:09
オリジナル
918 人が閲覧しました

How Can I Efficiently and Securely Insert Multiple Rows into a MySQL Database?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート