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

mysql:15703

From: "ochiai" <"ochiai" <s.ochiai@xxxxxxxxxx>>
Date: Thu, 29 Mar 2012 15:08:30 +0900
Subject: [mysql 15703] Left Join句を付けたUPDATE処理時間が非常に長くかかって

お世話になります。

Left Join句を付けたUPDATE処理時間が非常に長くかかって、処理に失敗しますので、解決策を教えてください。

実行したSQL

UPDATE `table-a` LEFT JOIN `table-b` ON ( `table-a`.`Ka` = `table-b`.`Kb` )
    SET `table-a`.`fa` = `table-b`.`fb`;

経過時間 3600秒を過ぎても終了しません。

ちなみに、作業環境は以下の通りです。

1.作業環境
1)サーバーマシンの環境
  MySQLサーバ:バージョン5.5.11
  (mysql-5.5.11-win32.msi)
  Workbench:バージョン5.2.33CE Revision 7508
  (mysql-workbench-gpl-5.2.33b-win32.msi)
  OS:Windows 7 Professional SP1(32bit)
  PC:DELL Vostro(Intel Core 2 Duo,CPU E7500 2.93GHz) RAM 2.00GB
2)クライアントマシンの環境
  サーバマシン上で実行
  実行時には他の処理は動かしていません。
3)データ(innodb)
  table-a
    レコード数:約25万件
    レコードサイズ:約300バイト
    `table-a`.`Ka`:VARCHAR(30) KEY設定済み
  table-b
    レコード数:約20万件
    レコードサイズ:約300バイト
    `table-b`.`Kb`:VARCHAR(30) ユニークKEY設定済み

2.関係しそうなことと思っていること

以下のような点はLeft Join句の効率化に影響しますでしょうか?

1)AdvancedタブのVarious/big-tablesをチェックする

2)AdvancedタブのVarious/join_buffer_size(現在131,072)を大きくする

3)AdvancedタブのVarious/read_buffer_size(現在49K)をチェックする

4)InnoDBタブのinnodb_additional_mem_pool_size(現在7M)を大きくする

5)InnoDBタブのinnodb_buffer_pool_size(現在300M)を大きくする

6)DBMS connection read time out (in seconds)の設定時間をもっと大きくし、処理が終わるのを待つ。

以上はWorkbenchのOption file画面での話です。

7)ジョインの結果を小さくするために、left joinテーブルとして処理に必須のフィールドのみを抽出したテーブルを作成し、そのテーブルを使用する。

思いつくのは以上のようなことです。
なお、1)〜5)はどのような場合に設定するのか、よくわかりません。

よろしくご指導願います。


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

->   15703 2012-03-29 15:08 ["ochiai" <s.ochiai@x] Left Join句を付けたUPDATE処理時間が非常に長くかかって
     15705 2012-03-29 16:56 ┣[中川 貴 <takashi.nak]                                       
     15706 2012-03-29 17:01 ┗[中川 貴 <takashi.nak]                                       
     15707 2012-03-29 17:12  ┗[中川 貴 <takashi.nak]                                     
     15708 2012-03-29 17:42   ┗["ochiai" <s.ochiai@x]                                   
     15709 2012-03-29 17:46    ┣[中川 貴 <takashi.nak]                                 
     15711 2012-03-29 17:58    ┃┗["ochiai" <s.ochiai@x]                               
     15712 2012-03-29 20:25    ┃ ┣[HIRATSUKA Sadao <hir]                             
     15713 2012-03-30 01:27    ┃ ┗[中川貴 <nora1962@xxx]                             
     15727 2012-04-11 17:03    ┃  ┗["ochiai" <s.ochiai@x] Re: Left Join句を付けたUPDATE処理時間が非常に長くかかって(長文)
     15728 2012-04-11 18:24    ┃   ┗[中川 貴 <takashi.nak]                         
     15729 2012-04-12 09:46    ┃    ┗[HIRATSUKA Sadao <hir]                       
     15730 2012-04-13 10:32    ┃     ┗["ochiai" <s.ochiai@x] Re: Left Join句を付けたUPDATE処理時間が非常に長くかかって(解決御礼)
     15733 2012-04-13 11:13    ┃      ┗[HIRATSUKA Sadao <hir]                   
     15710 2012-03-29 17:47    ┗[Masaaki Matsuyama <m]