mysql:16224
From: 二見 修康[DNPデジタルコム] <二見 修康[DNPデジタルコム] <futami-n2@xxxxxxxxxx>>
Date: Wed, 8 Apr 2015 21:39:10 +0900 (JST)
Subject: [mysql 16224] 大量なデータの扱いについて
二見と申します、お世話になっております 久しぶりの投稿となります(2009年以来?) ちょっと皆様のご意見を伺いたいのですが・・・ 下記の様な環境にて >Red Hat Enterprise 5.6 >MySQL 5.6 > > >create table serial_mst ( > serial_code varchar(16) not null, > serial_seq bigint(16) unsigned zerofill auto_increment not null, > update_date timestamp, > > primary key ( serial_seq ), > index idxserial_mst_serial_code ( serial_code ) >) TYPE = InnoDB; シリアルコードを500万件毎にLOAD DATAしております メモリは8GありMySQLで5G使用しているとの事です #サーバ設定のチームに聞いた情報です、曖昧ですみません 3億とか4億コードくらい入れるつもりなのですが 件数が増えるごとに登録が徐々に遅くなり 1億3000万件越えた辺りから極端に遅くなってきます 0 ⇒ 500万 1分13秒 3000万⇒3500万 2分57秒 9000万⇒9500万 4分48秒 11500万⇒12000万 10分11秒 12500万⇒13000万 37分18秒 13500万⇒14000万 73分 14500万⇒15000万 96分 15500万⇒16000万 112分 19500万⇒20000万 157分 プライマリキーをserial_code⇒serial_seqに変更した事で トータルの登録時間が 2億件で75時間⇒30時間に多少早くなりました メモリを増やす事で 1億3000万件の遅延ポイントを遅らせる事は出来そうですが (例えばメモリを倍に増やしてMySQLを10Gにすれば2億6000万近くになると思わ れる) 何か他に良い方法は無いでしょうか? まだ試して無いですが、 Indexを無効にして3~4億データを作成後Indexを貼るとか (その場合Indexの生成にもの凄く時間が掛かるとかはちょっと怖いのですが) 何か良い方法をご存知でしたらお教え頂けると有り難いです 宜しくお願い致します ※部署名が変わりました ------------------------------------------------------- DNP DIGITALCOM システムソリューション本部 第1システム開発室 第2グループ 二見 修康 〒141-8001 品川区西五反田3-5-20 DNP五反田ビル5F TEL 03-6431-6324 内線 6324 FAX 03-6431-6193 Mail: Futami-N2@xxxxxxxxxx
-> 16224 2015-04-08 21:39 [二見 修康[DNPデ�] 大量なデータの扱いについて 16225 2015-04-09 01:13 ┣["yoku ts." <yoku0825] Re: [mysql 16224] 大量なデータの扱いについて 16226 2015-04-09 01:49 ┃┗["yoku ts." <yoku0825] 16227 2015-04-10 12:20 ┗[HIRATSUKA Sadao <sh2]