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]