この質問は、NAVICATを使用して複数の同一のレコードをデータベースに効率的に挿入するコアの問題に対処しています。 NAVICATには、組み込みの「バッチ挿入の同一のデータ」ボタンは1つありません。 ただし、いくつかの方法はこれを達成し、それぞれがデータセットのサイズとSQLの快適レベルに応じて独自の利点と短所を備えています。複数回。 このアプローチは簡単ですが、非常に大きなデータセットでは非効率になる可能性があります。
、、、
、、INSERT
、
-- Example: Inserting the same record 10 times into a table named 'my_table' DELIMITER // CREATE PROCEDURE insert_multiple_rows(IN num_inserts INT) BEGIN DECLARE i INT DEFAULT 1; WHILE i <= num_inserts DO INSERT INTO my_table (column1, column2, column3) VALUES ('value1', 'value2', 'value3'); SET i = i + 1; END WHILE; END // DELIMITER ; CALL insert_multiple_rows(10);
ステートメントを繰り返し実行します。 必要な挿入の数にmy_table
を調整することを忘れないでください。column1
column2
column3
メソッド2:a 'value1'
ステートメント(中程度のデータセットの場合):'value2'
'value3'
INSERT
num_inserts
中程度の数の繰り返しのループよりも簡潔ですが、このステートメントを手動で作成するためにこのステートメントを作成してエラーが発生します。大規模なデータセット、最も効率的な方法は、挿入するデータを含む一時テーブルを作成し、次にターゲットテーブルに1つのステートメントを使用して作成します。最終UNION ALL
ステートメントの前にに追加の行を追加することで挿入回数を制御できます。 小さなデータセットの場合、SQLループアプローチは許容されます。中程度から大規模なデータセットの場合、
は最良のアプローチです。 データベースの相互作用を最小限に抑え、パフォーマンスを最大化します。 挿入の数が増えるにつれて、他の方法はますます非効率になります。
以上がバッチする方法同じデータを挿入しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。