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

mysql:15747

From: ram <ram <ram@xxxxxxxxxx>>
Date: Fri, 20 Apr 2012 17:58:23 +0900
Subject: [mysql 15747] Re: 行列変換を行う処理を高速化するには?

中川様
重ね重ねコメント有難うございます。

> お使いのSELECT文のEXPLAINの結果は出せますか?

EXPLAINは使ったことが無いのですが、
SELECT文の先頭にEXPLAINと付けて、リダイレクトで実行した結果、以下のように出ます。
t@nippod というのが実テーブル名で、
idx1というのが今張ってあるインデックスです。

id    select_type    table    type    possible_keys    key    key_len    ref    rows    Extra
1    SIMPLE    t@nippod    range    idx1    idx1    26    NULL    111    Using where; Using temporary; Using filesort

idx1は WHERE句の中に含まれている列とソートの順である sycd, npdt, nm です。

この Using temporary が気になりますが、CREATE TEMPORARY TABLEで、
テンポラリテーブルを使ったほうが処理が効率的という意味なんですね?

>後、
>read_buffer_size
>read_rnd_buffer_size
>sort_buffer_size
>はそれぞれどんな値を設定されていますか?

read_buffer_size    65536
read_rnd_buffer_size    262144
sort_buffer_size    262144

で、デフォルトから変更していません。

------------------------------------------
初穂 太郎


(2012/04/20 15:24), 中川 貴 wrote:
> (2012/04/20 13:58), ram wrote:
>> 中川様 コメント有難うございました。
>>
>> このインデックスは設定済みですが、ほとんど効果がありませんでした。
>> 情報がお伝え足りなくて申し訳ないです。
>>
>> もう一度、外してから、その前後でパフォーマンス比較をしましたが、
>> 平均応答時間は、ほとんど変わっていませんでした。
>>
>> また、先に件数を絞り込んだほうがよいかと思い、サブクエリーで抽出した後に、
>> GROUP BYを行ってもみましたが、これも、ほとんど変わらず、どちらかというと、
>> わずかにパフォーマンスが落ちました。
>>
>> SELECT x.nm,
>> sum(case when x.dd = '01' then 1 else 0 end) as 'h101',
>> sum(case when x.dd = '02' then 1 else 0 end) as 'h102',
>> (中略)
>> sum(case when x.dd = '31' then 1 else 0 end) as 'h131'
>> FROM (SELECT nm,Mid(CAST(npdt AS CHAR),7,2) as dd
>> FROM nippo
>> WHERE sycd = #ck_sycd# and npdate>= #from_ymd# and npdate<  #to_ymd# ) as x
>> GROUP BY x.nm ORDER BY x.nm
> お使いのSELECT文のEXPLAINの結果は出せますか?
>
> 後、
> read_buffer_size
> read_rnd_buffer_size
> sort_buffer_size
> はそれぞれどんな値を設定されていますか?
>
> ****************************************
> コープ情報システム株式会社
> 運用事業部
> コーププラザサービスデスクグループ
> 中川 貴
> 175-0094
> 東京都渋谷区渋谷3-29-8 コーププラザ5F
> TEL 03-5778-8010
> E-MAIL takashi.nakagawa@xxxxxxxxxx
> ****************************************
>
>
>


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

     15742 2012-04-20 09:36 [ram <ram@xxxxxxxxxx>] 行列変換を行う処理を高速化するには?    
     15743 2012-04-20 11:12 ┣[中川 貴 <takashi.nak]                                       
     15744 2012-04-20 13:58 ┃┗[ram <ram@xxxxxxxxxx>]                                     
     15745 2012-04-20 15:24 ┃ ┗[中川 貴 <takashi.nak]                                   
->   15747 2012-04-20 17:58 ┃  ┗[ram <ram@xxxxxxxxxx>]                                 
     15748 2012-04-20 22:05 ┃   ┣[Tsubasa Tanaka <yoku]                               
     15749 2012-04-21 01:06 ┃   ┃┗[Tsubasa Tanaka <yoku]                             
     15750 2012-04-21 02:05 ┃   ┃ ┗[Tsubasa Tanaka <yoku]                           
     15753 2012-04-23 15:39 ┃   ┃  ┗[ram <ram@xxxxxxxxxx>]                         
     15756 2012-04-25 14:54 ┃   ┗[中川 貴 <takashi.nak]                               
     15758 2012-04-25 16:34 ┃    ┗[ram <ram@xxxxxxxxxx>]                             
     15759 2012-04-25 17:09 ┃     ┗[中川 貴 <takashi.nak]                           
     15760 2012-04-25 17:18 ┃      ┗[Tomohiro 'Tomo-p' KA]                         
     15761 2012-04-25 18:25 ┃       ┗[中川 貴 <takashi.nak]                       
     15762 2012-04-25 19:05 ┃        ┗[Tomohiro 'Tomo-p' KA]                     
     15752 2012-04-23 14:17 ┗[<gotou1213@xxxxxxxxx]                                       
     15754 2012-04-23 19:53  ┗[ram <ram@xxxxxxxxxx>]                                     
     15755 2012-04-24 13:50   ┗[<gotou1213@xxxxxxxxx]                                   
     15757 2012-04-25 15:39    ┗[ram <ram@xxxxxxxxxx>]                                 
     15765 2012-04-26 14:12     ┗[<gotou1213@xxxxxxxxx]