1. データベースを作成する2. テーブルを作成する1. deptテーブルを作成する テーブル「dept」を作成します( `id` int(11) NULLではない、 `deptno` mediumint(9) デフォルト NULL, `dname` varchar(20) デフォルト NULL, `loc` varchar(13) デフォルト NULL, 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8; 2. empテーブルを作成する テーブル `emp` を作成します ( `id` int(11) NULLではない、 `empon` mediumint(9) デフォルト NULL コメント 'Number', `ename` varchar(20) デフォルト NULL, `job` varchar(9) デフォルト NULL, `mgr` mediumint(9) デフォルト NULL コメント '上位番号', `hirdate` datetime DEFAULT NULL COMMENT 'ジョブ開始時刻', `sal` 小数点(7,2) デフォルト NULL コメント '給与', `comm` 小数点(7,2) デフォルト NULL コメント '配当', `deptno` mediumint(9) デフォルト NULL コメント '部門番号', 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8; 3. パラメータを設定する'log_bin_trust_function_creators' のような変数を表示します。 デフォルトではオフです。1 に設定する必要があります。 mediumintフィールド作成関数がテーブルに設定されているため、エラーが発生する可能性があります グローバル log_bin_trust_function_creators=1 を設定します。 4. 関数を作成する1. ランダムな文字列を生成する 区切り文字 $ CREATE FUNCTION RAND_STR(n INT) は VARCHAR(255) を返します。 始める chars_str VARCHAR(100) をデフォルト 'abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWXYZ' として宣言します。 return_str VARCHAR(255) DEFAULT '' を宣言します。 i INT DEFAULT 0 を宣言します。 しながら、 return_str = COUCAT(return_str、SUBSTRING(chars_str、FLOOR(1+RAND()*52)、1)); を設定します。 i= i+1 を設定します。 終了しながら; 戻り値 return_str; 終了 $ 2. 部門番号をランダムに生成する 区切り文字 $ CREATE FUNCTION RAND_num() は INT(5) を返します。 始める i INT DEFAULT 0 を宣言します。 i = FLOOR(100+RAND()*10)を設定します。 i を返します。 終了 $ 5. ストアドプロシージャを作成する1. emp テーブル ストアド プロシージャ 区切り文字 $ CREATE PROCEDURE insert_emp(IN START INT(10),IN max_num INT(10)) 始める i INT DEFAULT 0 を宣言します。 自動コミットを 0 に設定します。 繰り返し #繰り返し SET i = i + 1; emp(empon,ename,job,mgr,hiredate,sal,comm,depton) に値 ((START+i),RAND_STR(6),'SALESMAN',0001,CURDATE(),2000,400,RAND_num()); を挿入します。 i = max_numになるまで 繰り返し終了; 専念; 終了 $ 2.deptテーブルのストアドプロシージャ 区切り文字 $ CREATE PROCEDURE insert_dept(IN START INT(10), IN max_num INT(10)) 始める i INT DEFAULT 0 を宣言します。 自動コミットを 0 に設定します。 繰り返し #繰り返し SET i = i + 1; dept(deptno,dname,loc) に値 ((START+i),RAND_STR(10),RAND_STR(8)) を挿入します。 i = max_numになるまで 繰り返し終了; 専念; 終了 $ 6. 実行1. まず10のルールを実行する このエラーは小さな落とし穴です。見つけましたか? 前にも残しました。プロンプトに従って確認してください。 実行に成功しました! 2. データを表示する ハイライトはここ! 賭けてみて、失敗するかどうか見てみましょう。 3. 100万回の挿入を実行する insert_dept(10001,1000000)を呼び出します。 100 万のデータを実行するのに 400 秒かかり、1 秒あたり 2500 です。私の設定が悪すぎます。前回のテストは 1 秒あたり 10,000 で、最高は 1 回の実行あたり 500,000 でした。 オークスリーピング 要約するこれで、Mysql に数千万のデータをすばやく挿入する方法に関するこの記事は終了です。Mysql に数千万のデータを挿入する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
1. 透明度を変更してテキストを徐々に点滅させると、次のような効果が得られます。 <!DOCT...
序文私自身の個人ブログを入力しているときに、ブログの詳細ページでさまざまなコンテンツをコピーするさま...
序文文字セットは、一連のシンボルとエンコード規則です。Oracle データベースでも MySQL デ...
目次1. UDPとLinuxの基礎の紹介2. 各機能の使い方1. ソケット機能の使用2. バインド機...
Vue プラグインがエラーを報告しました: このページで Vue.js が検出されましたVueプラグ...
私は長い間 CSS を使用してきましたが、Web 要素の関連属性を設定するために常に「px」を使用し...
isnullの代わりにifnullを使用するisnull は、null かどうかを判断するために使用...
mongoイメージを取得する sudo docker pull mongo mongodbサービスを...
目次MySQL 5.6以前MySQL 5.6以降要約する知らせMySQL 5.6以前更新手順元のテー...
最近、画像、ビデオ、CSS/JS などの静的リソースを配置するために nginx を使用する方法を学...
通常のプロジェクトでは、1 回の入札で同時にデータを更新および照会する必要があるという問題によく遭遇...
現在のスクロール オフセットを html 要素の属性に追加することで、現在のスクロール位置に基づいて...
1. 仮想環境はプロジェクトに従い、単一のプロジェクト用の仮想環境を作成します(Python 3.4...
1. mysqlにログインします。 mysql -u ルート -h 127.0.0.1 -p 2. ...
この記事の例は MySQL 5.0 以降で実行されます。ユーザー権限を付与するための MySQL コ...