序文インデックスを追加した場合と追加しなかった場合の違いを反映するには、数百万のデータを使用する必要があります。ただし、数百万のデータを 1 つずつテーブルに追加すると、非常に面倒で面倒です。ここでは、ストアド プロシージャを使用してデータをすばやく追加しますが、これには約 4 時間かかります。 テーブル `t_sales` を作成します ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(32) COLLATE utf8_bin DEFAULT NULL COMMENT 'ユーザー名', `password` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'パスワードMD5ストレージ', `register_time` タイムスタンプ NULL デフォルト NULL コメント '登録時間', `type` int(1) DEFAULT NULL COMMENT 'ユーザータイプ 1,2,3,4 ランダム', 主キー (`id`)、 キー `idx_username` (`username`) BTREE の使用 ) 次に、データをバッチで追加するためのストアド プロシージャを作成します。
プロシージャ salesAdd() を作成する 始める i int をデフォルト 11 として宣言します。 i <= 4000000 の間 blog.t_salesに挿入 (`username`,`password`,`register_time`,type) 値 (concat("jack",i),MD5(concat("psswe",i)),from_unixtime(unix_timestamp(now()) - floor(rand() * 800000)),floor(1 + rand() * 4)); i = i + 1 と設定します。 終了しながら; 終わり 次にストアドプロシージャを呼び出します salesAdd() を呼び出す 改良版ストアド プロシージャを使用してデータを追加する方が、データを 1 つずつ追加するよりも便利で高速ですが、数百万のデータを追加するには数時間かかります。その後、インターネットで多くの情報を見つけ、MySQL がステートメントを実行するたびに自動的にコミットすることを発見しました。この操作は非常に時間がかかるため、自動コミットを追加および削除しました。 AUTOCOMMIT を 0 に設定します。 プロシージャ salesAdd() を作成する 始める i int をデフォルトで 1 と宣言します。 自動コミットを 0 に設定します。 i <= 4000000 の間 blog.t_salesに挿入 (`username`,`password`,`register_time`,type) 値 (concat("jack",i),MD5(concat("psswe",i)),from_unixtime(unix_timestamp(now()) - floor(rand() * 800000)),floor(1 + rand() * 4)); i = i + 1 と設定します。 終了しながら; 自動コミットを 1 に設定します。 終わり 実行時間は387秒、つまり約6分で、その半分の時間はmd5と乱数の計算に使われます。
これで、MySQL のストアド プロシージャを使用して数百万のデータをすばやく追加する方法に関するこの記事は終了です。MySQL で数百万のデータを追加する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: docker compose を使ってワンクリックで分散構成センター Apollo を展開するプロセスの詳細な説明
テキストカルーセルは私たちの日常生活で非常に一般的です。スーパーマーケットや実店舗の入り口には、テキ...
Web ページを作成する過程では、<h1>、<h2>、<h3> ...
<br />みなさんこんにちは!ここで皆さんとチャットできて光栄です! (*^__^*)...
導入圧縮トランスポート プロトコル、圧縮列ソリューション、圧縮テーブル ソリューションなど、MySQ...
目次1. はじめに2. ポイントフィーチャーレイヤーの集約3. 重合の特殊処理4. 重合の特殊処理 ...
1. クエリプロセスプロセスリストを表示2. 対応するプロセスを照会し、IDを強制終了します。検証(...
mybatis を学習しているときにエラーが発生しました。エラーの内容は次のとおりです。データベース...
目次1. プロジェクトフォルダ構造1. アセットフォルダ2. 図書館3. ローカル設定(ローカル) ...
この記事では、マーキースタイルのテキストの水平スクロールを実現するためのVueの具体的なコードを参考...
目次前の単語使用シナリオ参照HTML要素クラスコンポーネント機能コンポーネント[DOMノードを親コン...
序文springboot設定ファイルでは、設定ファイルの名前には独自の意味と用途があります。 dev...
目次1. 自己列挙可能なプロパティ2. Object.values()はプロパティ値を返します3. ...
目次レンダリングAPIの変更レンダリング関数のパラメータレンダリング関数のシグネチャの変更VNode...
1. GitLabイメージをダウンロードする docker pull gitlab/gitlab-c...
サーバーとデータベースの構築方法を学ぶ必要があるため、最近は SQL 言語を独学で学び始めました。デ...