序文インデックスを追加した場合と追加しなかった場合の違いを反映するには、数百万のデータを使用する必要があります。ただし、数百万のデータを 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 を展開するプロセスの詳細な説明
序文この記事では、Nginx の一般的な、実用的で興味深い構成をいくつか紹介します。この記事を読んだ...
MySQL 複数の無関係なテーブルクエリデータとページング機能要件主キーと外部キーの関連付けがない ...
1. W3C バージョンの flex 2009年版フラグ: display: box; または bo...
正解useRouterの使用: // ルーターパス: "/user/:uid" ...
目次1. AST抽象構文木を生成する2. ASTのルートノードを作成する3. 子ノードの解析4. テ...
1. 数学関数ABS(x) xの絶対値を返します。 BIN(x) xの2進値を返します(OCTは8...
1: django-admin.py startproject プロジェクト名2: cd プロジェク...
1. Redisイメージを取得するdocker pull redis 2. それぞれポート6379、...
まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...
目次序文実装のアイデア効果:使用:メインソースコード:序文多くのケースを見た結果、単純な観点からは、...
目次0x0 はじめに0x1 インストール0x2 ノードサイドバー0x3 統合例0x0 はじめにプロジ...
MySQL のインデックスの種類には、通常のインデックス、一意のインデックス、全文インデックスがあり...
1. はじめにMySQL グループ レプリケーション (略して MGR) は文字通り MySQL グ...
まとめDocker-compose は複数の Docker コンテナ サービスを簡単に組み合わせるこ...
CSS画像結合技術1. 画像のステッチ画像ステッチング技術は、個々の画像を収集する技術です。画像の多...