[前][次][番号順一覧][スレッド一覧]

mysql:8114

From: 伊藤 恵吾 <伊藤 恵吾 <k5_ito@xxxxxxxxxx>>
Date: Thu, 7 Aug 2003 18:47:38 +0900 (JST)
Subject: [mysql 08114] Re: InnoDB への大量 INSERT ,高速化

アドバイスを頂いた皆様:

皆さんのお陰で大幅に高速化することができました。
ありがとうございました。

キーポイントとなったのは、
「innodb_buffer_pool_size」と、
「set autocommit=0;」です。
(どちらが効果をもたらしたのかは不明です。)

以下、考察です。

「7.6.9 Performance tuning tips」
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_Table_types.html#InnoDB_Consistent_read_example
より以下、抜粋。

1. もし Unix `top' や Windows `Task Manager' が CPU 使用
率を 70% 未満に表示している場合、おそらく、disk アクセス
に処理が取られています。とても多くのトランザクションのコ
ミットを作成しているか、バッファプールが小さいのでしょう
。バッファプールを大きくすれば良くなりますが、しかし、バ
ッファプールは物理メモリの 80% より大きくしないように。

  → /etc/my.cnf で
     set-variable = innodb_buffer_pool_size=64M
  を指定した。

7. InnoDB にデータを流し込む場合には、 MySQL の設定が
autocommit=1 
になっていないようにします。それぞれの全ての insert が log

をディスクにフラッシュすることを要求するからです。取り込
む SQL の最初に 

set autocommit=0;

を追加し、最後に 

commit;

を書きます。 

  → set autocommit=0;
     commit;
  を追加した。


    ↓

今まで10時間以上かかっていたものが、2時間50分ほどで完了
するようになりました。

 アドバイス、誠にありがとうございました。


 --- Tatsuhiko Miyagawa <miyagawa@xxxxxxxxxx> からのメッ
セージ:
> 宮川です。
> 
> At Thu, 7 Aug 2003 14:07:05 +0900 (JST),
> 伊藤 恵吾 wrote:
> > > 毎回commitしているのでは?
> > >
> 1000回insertしたら1回commitなんて感じでやれば早くなり>
> ます.
> > > 
> > > 外してたらごめんちゃい
> > 
> > 1000個のVALUE
> を一度にINSERTしています。具体的にはこうで
> > す。
> > 
> > LOCK TABLES foo WRITE;
> > INSERT INTO foo VALUES
> >   (f1, ...),
> >   (f2, ...),
> >   ....
> >   (f1000, ...);
> > UNLOCK TABLES;
> 
> SET autocommit=0;
> INSERT INTO ..:
> COMMIT;
> 
> ではどうでしょうか?
> 
> 
> -- 
> Tatsuhiko Miyagawa <miyagawa@xxxxxxxxxx>


[前][次][番号順一覧][スレッド一覧]

      8108 2003-08-07 11:29 [伊藤 恵吾 <k5_ito@xx] InnoDB への大量 INSERT ,高速化         
      8109 2003-08-07 12:00 ┣[hironaka <hironaka@x]                                       
      8110 2003-08-07 13:57 ┃┣[ken <t_takahashi@xxx]                                     
      8111 2003-08-07 14:07 ┃┗[伊藤 恵吾 <k5_ito@xx]                                     
      8113 2003-08-07 14:27 ┃ ┗[Tatsuhiko Miyagawa <]                                   
->    8114 2003-08-07 18:47 ┃  ┗[伊藤 恵吾 <k5_ito@xx]                                 
      8112 2003-08-07 14:25 ┗[SUGAWARA Hajime <sug]