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]