MySQL に 1,000 万件のレコードを素早く挿入する方法

MySQL に 1,000 万件のレコードを素早く挿入する方法

面接で「MySQL に 1,000 万件のレコードをすばやく挿入するにはどうすればよいか」という質問があると聞きました。

個人的に試してみたところ、10,000 データの挿入に 0.9 秒、100,000 データの挿入に 4.7 秒、1,000,000 データの挿入に約 58 秒かかりました。1,000,000 データの挿入では、ラップトップは 5 分ほど実行され、自動的に停止しました。私はとても興奮して、それについて考えていました。次のコードを使用しました。

-- データベース使用テストを入力します。
--すべてのテーブルを表示 show tables;
-- メジャーテーブルを作成します。create table majors(id int, major varchar(255));
-- 終了文字 $ を定義します
区切り文字「$」;
-- ストアド プロシージャを作成し、ストアド メソッドを定義します。create procedure batchInsert(in args int)
始める
i int をデフォルトで 1 と宣言します。
-- トランザクションを有効にします (重要! そうしないと、100 万件のデータの計算に数日かかります)
トランザクションを開始します。
i <= argsの場合
専攻(id,major)に値(i,concat("ソフトウェアエンジニアリング-",i))を挿入します。
i = i + 1 と設定します。
終了しながら;
専念;
終わり
$

-- データを生成する関数を呼び出します -- 最初に 100,000 件のレコードを生成し、$ を入力して Enter キーを押して実行します call batchInsert(100000);
$

10万個のデータを生成するのに4.44秒かかりました

ここに画像の説明を挿入

100 万個のデータを生成するのに 58.62 秒かかりました。これはほぼ 1 分です。

ここに画像の説明を挿入

1000 万個のデータを生成します。画面の前にいる大物たちが試すことができます。ハハ、Ctrl + C でプロセスを強制終了しました!

ここに画像の説明を挿入

要約する

これで、MySQL に 1000 万件のレコードをすばやくバッチ挿入する方法に関するこの記事は終了です。MySQL にデータをバッチ挿入する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL に大量のデータを挿入する 4 つの方法の例
  • MYSQL バッチ挿入データ実装コード
  • MySQL でバッチ挿入を実装してパフォーマンスを最適化するチュートリアル
  • ユニークインデックスを使用したMySQLバッチ挿入を回避する方法
  • MySQL バッチデータ挿入スクリプト
  • MySQL バッチ SQL 挿入パフォーマンス最適化の詳細な説明
  • MySQL バッチ挿入とユニークインデックスの問題に対する解決策
  • MySQL の挿入およびバッチ ステートメントのいくつかの例の詳細な説明

<<:  高度な CSS の 3 つの方法を使用して複数行の省略を実装するサンプル コード

>>:  Web デザイン リファレンス Firefox デフォルト スタイル

推薦する

Linux システムでの vim プラグインのインストールの概要

目次vimプラグインマネージャーをインストールするプラグインデモを追加プラグインを削除するには: v...

スパンの最小高さを定義するソリューションは効果がありません

span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...

JavaScript継承のさまざまな方法とメリット・デメリットを詳しく解説

目次1. プロトタイプチェーン継承2. コンストラクタの借用(古典的な継承) 3. 組み合わせ継承4...

あなたをエキスパートに見せるための 13 個の JavaScript ワンライナー

目次1. ランダムなブール値( true / false )を取得する2. 指定された日付が営業日で...

最初のReactページを作成する方法

目次Rractとは何ですか?背景React スキャフォールディングJSXとは何かRractとは何です...

HTML フレームセットのサンプルコード

この記事では、Frameset が作成した、できるだけシンプルなフレームワークを紹介します。さて、ま...

ウェブページのFOUC問題によるウェブページの混乱の解決策

FOUC は Flash of Unstyled Content の略で、FOUC と略されます。簡...

CSS 読み込み効果の実装 パックマン

えーっと、名前はただの推測です 2333序文これは練習用の CSS デモです。何か間違っている点があ...

Windows 上で Zookeeper サーバーを構築するチュートリアル

インストールと設定Apacheの公式ウェブサイトには多くのミラーダウンロードアドレスが用意されており...

VMware Workstation Pro 16 ライセンス キーと使用方法のチュートリアル

VMware Workstation は、開発、テスト、デモンストレーション、展開のために仮想マシン...

Mysql の大きな SQL ファイルの高速リカバリ ソリューションの共有

序文MySQL データベースを使用する過程では、データベースのバックアップと復元が必要になることがよ...

Linuxシステムにおけるプロセス管理の詳細な説明

目次1. プロセスとスレッドの概念2. プロセス管理とは何ですか? 3. プロセス管理の役割4. L...

nginx で複数のフロントエンド プロジェクトをデプロイするいくつかの方法

nginx を使用して 1 つのサーバーに複数のフロントエンド プロジェクトをデプロイする 3 つの...