1. テーブルを作成する1.1 テストテーブルt_userを作成するテーブル `t_user` を作成します ( `id` int(11) NOT NULL AUTO_INCREMENT, `c_user_id` varchar(36) NOT NULL DEFAULT '' COMMENT 'ユーザーID', `c_name` varchar(22) NOT NULL DEFAULT '' COMMENT 'ユーザー名', `c_province_id` int(11) NOT NULL COMMENT '州ID', `c_city_id` int(11) NOT NULL COMMENT '都市ID', `create_time` datetime NOT NULL COMMENT '作成時刻', 主キー (`id`)、 キー `idx_user_id` (`c_user_id`) )ENGINE=InnoDB デフォルト文字セット=utf8mb4; 1.2 一時テーブルの作成テーブル `tmp_table` を作成します ( `id` int(11) NULLではない、 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8; 2. データを生成する2.1 Pythonを使用して[1億]レコードのデータファイルを生成する(これには少し時間がかかります)python -c "i が範囲 (1, 1+100000000) 内にある場合: print(i)" > base.txt 2.2 生成されたファイルを一時テーブルtmp_tableにインポートする対応するデータベースを探す ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 mysql> テストを使用します。 データベースが変更されました mysql> テーブルを表示します。 +----------------+ | テスト中のテーブル | +----------------+ | 学生 | | t_ユーザー | | tmp_テーブル | +----------------+ セット内の 3 行 (0.00 秒) インポートコマンドを実行する mysql> 'E:/base.txt' のデータをロードし、テーブル tmp_table に置き換えます。 エラー 1290 (HY000): MySQL サーバーは --secure-file-priv オプションで実行されています したがって、この文は実行できません マイSQL> MySQL では secure_file_priv がデフォルトで有効になっていないため、データのインポート時にエラーが発生する可能性があります (このパラメータは、LOAD DATA、SELECT ... INTO OUTFILE ステートメント、および LOAD_FILE() 関数の実行など、データのインポートおよびエクスポート操作の影響を制限するために使用されます。これらの操作を行うには、ユーザーに FILE 権限が必要です)。 解決策: MySQL 構成ファイル (my.ini または my.conf) に 「%secure%」のような表示変数を使用できます。まず、設定を確認します。 mysql> '%secure%' のような変数を表示します。 +--------------------------+-------+ | 変数名 | 値 | +--------------------------+-------+ | require_secure_transport | オフ | | secure_auth | オン | | secure_file_priv | NULL | +--------------------------+-------+ セットに 3 行、警告 1 件 (0.00 秒) 例: secure_file_prive=null mysqldのインポートとエクスポートを制限 secure_file_priv=/var/lib/mysql-files/ mysqldの/var/lib/mysql-files/ディレクトリへのインポートとエクスポートを制限 secure_file_priv=' ' mysqldのインポートとエクスポートを制限しない 注意: 設定は [mysqld] ノードの下に追加する必要があります。パスを引用符で囲むかどうかについては、次を試してください。 まず MySQL を再起動して設定を確認します。 mysql> テストを使用します。 データベースが変更されました mysql> '%secure%' のような変数を表示します。 +--------------------------+-------+ | 変数名 | 値 | +--------------------------+-------+ | require_secure_transport | オフ | | secure_auth | オン | | secure_file_priv | E:\ | +--------------------------+-------+ セットに 3 行、警告 1 件 (0.00 秒) そして再インポートします: mysql> 'E:/base.txt' のデータをロードし、テーブル tmp_table に置き換えます。 クエリは正常、100000000 行が影響を受けました (3 分 53.42 秒) レコード: 100000000 削除: 0 スキップ: 0 警告: 0 マイSQL> 数十億のデータ、233.42秒。他の人のデータを見ると、ほぼ同じです。 3. 一時テーブルを基本データとして使用し、t_userにデータを挿入します。1 億のデータ ポイントには約 30 分かかります。 。 。 (おそらくコマンドラインから直接実行する方が速いでしょう...) 挿入されたデータの作成時刻をよりランダムにするには、作成時刻フィールドを更新します。 mysql> UPDATE t_user SET create_time=date_add(create_time, 間隔 FLOOR(1 + (RAND() * 7)) 年); クエリは正常、100000000 行が影響を受けました (7 分 24.17 秒) 一致した行: 100000000 変更: 100000000 警告: 0 mysql> UPDATE t_user SET create_time=date_add(create_time, 間隔 FLOOR(1 + (RAND() * 7)) 年); クエリは正常、100000000 行が影響を受けました (8 分 2.49 秒) 一致した行: 100000000 変更: 100000000 警告: 0 この時点で1億件のデータの挿入が完了します。 4. 参考MySQLで数千万のテストデータを素早く作成する方法 MySQLサーバーは--secure-file-privオプションで実行されています これで、MySQL に 1 億個のテスト データをすばやく挿入する方法についての記事は終了です。MySQL に 1 億個のデータを挿入する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: IDEA で Docker を WSL2 にデプロイする詳細なプロセス
>>: CSS3は、ズームと回転を実現するためにscale()とrotate()を使用します。
最初は、複数の列のコンテンツのサイズと高さが異なります。ここで、表示する背景を異なるものに設定し、各...
目次最適化の第一歩: 軽量ベースイメージの使用第2段階の最適化:多段階構築Docker は、ソフトウ...
注: 親コンテナーに高さと :data='Array' および overfolw:h...
目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...
導入前回の記事では、Redis をインストールして設定しましたが、まだ終わりではありません。PHP ...
質問docker run コマンドを使用して、tomcat コンテナが正常に追加されました。ポートも...
この記事の例では、参考のためにVueカスタムポップアップ効果の具体的なコードを共有しています。具体的...
この記事の例では、動的な背景を実現するためのjsの具体的なコードを参考までに共有しています。具体的な...
getElementByIdはオブジェクトを取得できませんブラウザがドキュメントを解析するときにはシ...
まず、Alipay サンドボックスから一連のものをダウンロードします。多くのブログで取り上げられてお...
今日、最終プロジェクトに取り組み始めましたが、今年はMySQLデータベースを使用したため、Navic...
1. 本番環境でMySQLのデッドロックを監視し、デッドロックの可能性を減らす方法まず、デッドロック...
最近、私は「ぶどうコレクション」というプロジェクトに取り組んでいます。簡単に言うと、Budou ペー...
問題を見つける今日、Docker コンテナ内のファイルを変更しようとしたところ、コンテナ内に vim...
導入最近、大きな課題をこなす際に、弾幕プレイヤーを作る必要がありました。他の人のソースコードを借りて...