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 デフォルト スタイル

推薦する

nginx設定ファイルの解釈の詳細な説明

nginx 設定ファイルは主に 4 つの部分に分かれています。 main{#(グローバル設定) ht...

MySQL ストアド プロシージャ、カーソル、トランザクションの例の詳細な説明

MySQL ストアド プロシージャ、カーソル、トランザクションの例の詳細な説明以下は私が作成した M...

クールなネオンライト効果を実現する純粋な CSS (デモ付き)

私は最近、YouTube の CSS アニメーション効果チュートリアル シリーズをフォローしています...

jQueryはフォーム検証を実装する

jQueryを使用してフォーム検証を実装します。参考までに、具体的な内容は次のとおりです。登録.ht...

Win10 + Ubuntu 16.04 デュアルシステム 完璧なインストールチュートリアル [詳細]

必ずデータをバックアップすることを忘れないでください。データは貴重なものです! ! !コンピュータモ...

ウェブページのフラッシュアニメーションが表示されない問題の解決策

<br />解決手順は次のとおりです。スタート -> 実行 -> reged...

HTML に埋め込まれた Flash HTML ウェブページ コードに Flash ファイルを埋め込むソリューション (パート 2)

上の記事で、SWFObject V1.5 の使い方の紹介は一旦終了です。これから、SWFObject...

js でパズルゲームを実装する

この記事では、パズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容は...

MySQLが基礎データ構造としてB+ツリーを使用する理由

MySQL の基盤となるデータ構造が B+ ツリーであることは誰もが知っていますが、ではなぜ赤黒ツリ...

Vueは虫眼鏡付きの検索ボックスを実装します

この記事では、Vueを使用して虫眼鏡付きの検索ボックスを実装する方法を紹介します。具体的な内容は次の...

Linux の crw、brw、lrw などのファイル属性は何ですか?

ファイルとは何ですか?すべてのファイルは実際には文字列のストリームですが、適切な解析方法を使用すると...

Ajax の JavaScript ソリューションにおける parsererror エラー ケースの詳細な説明

ajax の parsererror エラー (バックグラウンドからフロントエンドに送信される js...

情報製品の読書リストのインタラクティブなデザインに関する考えと経験の共有

リストは、テーブルをコンテナーとして使用するテキストまたはグラフの形式として定義されます。商品の種類...

シームレスなカルーセルを実現するjQueryプラグイン

シームレス カルーセルは非常に一般的なエフェクトであり、ロジックを理解すれば非常に簡単です。効果は以...

スクロールバーを非表示にしてコンテンツをスクロールする CSS サンプルコード

序文ページの HTML 構造にネストされたボックスが多数含まれている場合、ページに複数の垂直スクロー...