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

推薦する

Baota Linux パネル コマンド リスト

目次Pagodaをインストールする管理塔Nginx サービス管理Apache サービス管理MySQL...

JavaScriptは4桁のランダム検証コードの生成を実装します

この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...

Vueはタブ切り替えの虫眼鏡効果を実装します

この記事では、タブ切り替えの虫眼鏡効果を実現するためのVueの具体的なコードを例として紹介します。具...

Ubuntu での MySQL および MySQL Workbench のインストール チュートリアル

Ubuntu に jdk をインストールする: [リンク] UbuntuにEclipseをインストー...

初心者向け入門チュートリアル: ドメイン名の解決とバインディング

では、ドメイン名を登録して仮想ホストを購入した後、IE でドメイン名を入力して Web サイトを開く...

CSS と JS を使用して下線効果を実装する方法の例

この記事では、主に 2 種類の下線の動的効果について説明します。1 つ目は、ホバーすると X 軸が内...

MySQL ステートメントの概要

目次1. データベースの使用を選択2. 情報を表示する3. テーブルを作成する4. データを挿入する...

MySQL の行レベルロックの詳細な例

序文ロックは、複数のスレッドを実行するときにリソースへのアクセスを強制的に制限するために使用される同...

VMwareがLinuxシステムをインストールして起動した後に黒い画面が表示される問題を解決する

1. 設置環境1. HUAWEI mate x CPU i5 82500u、8g メモリ、独立グラフ...

Vue プロジェクトにインターフェース リスニング マスクを追加する方法

1. 事業背景マスク レイヤーを使用してユーザーの異常な操作を遮断する方法は、フロントエンドでよく使...

Web ページのソース ファイルを表示できない場合はどうすればよいですか?

Q: Outlook または IE のどちらを使用している場合でも、マウスを右クリックすると、ポッ...

docker-maven-pluginを使用してデプロイメントを自動化する方法を説明します

1. docker-maven-pluginの紹介私たちの継続的インテグレーションプロセスでは、プロ...

メッセージボードにメッセージを追加および削除するための JavaScript

この記事では、JavaScript メッセージ ボードでメッセージを追加および削除する小さな例を詳細...

MySQLのスロークエリの詳細な説明

MySQL操作情報のクエリ show status -- すべての MySQL 操作情報を表示します...

Nodejs モジュール システムのソースコード分析

目次概要CommonJS 仕様Node の CommonJS 仕様の実装モジュールのエクスポートとイ...