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

mysql:9478

From: ML account <ML account <ml@xxxxxxxxxx>>
Date: Sun, 30 May 2004 13:35:06 +0900
Subject: [mysql 09478] Re: ある値の最も近い周辺値を抜き出す場合、インデックスは使われる?

 こんにちは。

OHTSUKA Ko-hei <techml@xxxxxxxxxx>さんの
<20040530114435.360A.TECHML@xxxxxxxxxx>
"[mysql 09477] Re: ある値の最も近い周辺値を抜き出す場合、インデックスは使われる?"


> SQL文で直接「ある値の周辺値」を求めるのが難しい(やろうとすると全件
> トレースになる)のは理解しました。
> ただ、そういう要件はよくある事だと思うのですが、一般的なやり方という
> ものはないのでしょうか。
> 要件の詳細次第で個々考えていくしかないのでしょうか。

 方法論としては、全件舐めるか仮抽出を行うか程度の選択しか無いでしょう。
どちらの方法を採るべきかは状況次第です。今回のケースは状況が明らかになっ
ていませんから的確な回答は得られないと思います。

 一般論としては、インデックスを使っての仮抽出が可能であり、かつ仮抽出を
行うやり方が十分な対費用効果(cost performance)を期待出来るのであれば、最
終的な抽出に先だって行うのが妥当でしょう、などと、なんともクラゲ的な結論
になります。仮抽出を行うのが妥当だとして、今回のケースであれば [mysql
09475]で大塚さんが書かれた方法をボクも採ると思います。上下2発か unionで
1発か、一時テーブルかサブクエリか、等々その実現のバリエーションはあるで
しょうが。


    松枝知直    <tomom@xxxxxxxxxx>
            http://www.argus.ne.jp/~tomom/



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

      9474 2004-05-30 09:25 [OHTSUKA Ko-hei <tech] ある値の最も近い周辺値を抜き出す場合、インデックスは使われる?
      9475 2004-05-30 10:39 ┣[OHTSUKA Ko-hei <tech]                                       
      9476 2004-05-30 11:33 ┗[ML account <ml@xxxxx]                                       
      9477 2004-05-30 11:53  ┗[OHTSUKA Ko-hei <tech]                                     
->    9478 2004-05-30 13:35   ┗[ML account <ml@xxxxx]                                   
      9481 2004-05-31 12:15    ┗[OHTSUKA Ko-hei <tech]