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

mysql:7716

From: SUGAWARA Hajime <SUGAWARA Hajime <sugawara@xxxxxxxxxx>>
Date: Wed, 14 May 2003 19:56:47 +0900
Subject: [mysql 07716] Re: MAX 関数について

 菅原です。

matics@xxxxxxxxxxさんは書きました:
> ただ、あのwhere句を見ると
> CREATE INDEX IDX_OUTINF ON OUTINF ( prjname, svname, outymd, item ) ;
> このindex使いそうな感じもするのですが???
> *MySQLのオプティマイザがどれほどかわかりません。

 ええと、上記の CREATE INDEX の場合は、「prjname,svname,outymd,item」が
全部セットになったインデックスになるハズです。

 なので今回の WHERE句では、ひょっとすると「prjname,svname」の部分までは
インデックスが使われるかもしれませんが、後ろの item の部分はインデックス
が使われないんじゃないかな?
(「prjname,svname,item,outymd」ならインデックスが使われるかもしれないで
す)

 また、outymd単独の場合(今回の場合はMAX()の部分)はインデックスが使わ
れないような気がします。


 ――というお話が正しいかどうかを確認するためにも、EXPLAINの結果は必要
なのです :)

 まあ、面倒なら何も考えずに必要そうな部分に全部インデックスを作るのもア
リではないかと思いますし(笑)。


> 抽出対象rowの数にもよりますが、
> FORMAT系関数はかなり遅い(Oracle,Sybase経験上)ので
> 1件のformatで終了する下のほうがよろしいかと。
> 仮に抽出対象rowが10000件とかだったらいやですし。

 このあたりについてはMySQLは異常に速かったような気が……。

-- 
菅原はじめ@ホビー・データ
sugawara@xxxxxxxxxx

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

      7707 2003-05-14 17:52 [ga-ko <kuga_ko@xxxxx] MAX 関数について                        
      7709 2003-05-14 18:09 ┗[SUGAWARA Hajime <sug]                                       
      7710 2003-05-14 18:48  ┗[ga-ko <kuga_ko@xxxxx]                                     
      7711 2003-05-14 19:01   ┣[<matics@xxxxxxxxxx> ]                                   
      7713 2003-05-14 19:11   ┗[SUGAWARA Hajime <sug]                                   
      7714 2003-05-14 19:27    ┣[<matics@xxxxxxxxxx> ]                                 
->    7716 2003-05-14 19:56    ┃┗[SUGAWARA Hajime <sug]                               
      7715 2003-05-14 19:44    ┗[ga-ko <kuga_ko@xxxxx]                                 
      7717 2003-05-14 20:05     ┗[SUGAWARA Hajime <sug]                               
      7718 2003-05-14 21:43      ┗[ga-ko <kuga_ko@xxxxx]                             
      7720 2003-05-15 02:46       ┗[ga-ko <kuga_ko@xxxxx]