[pgsql-jp: 38781] Re: 3種類の値を持つ6つの項目の検索方法
藤澤
qsecofr1 @ hotmail.com
2007年 9月 20日 (木) 17:34:21 JST
こうもとさんへ
んー、残念です。。。
6つの比較データが決まれば、たくさんありますが、検索対象となる
組み合わせが決まります。
たとえば、
比較データ1 = 1 ⇒ 1,2 が ok
比較データ2 = 2 ⇒ 1,2,3 が ok
比較データ3 = 3 ⇒ 2,3 が ok
比較データ4 = 1 ⇒ 1,2 が ok
比較データ5 = 2 ⇒ 1,2,3 が ok
比較データ6 = 3 ⇒ 2,3 が ok
であれば、2 * 3 * 2 * 2 * 3 * 2 = 144通りのOKパターンが
あります。
比較データの組み合わせ「3 * 3 * 3 * 3 * 3 * 3 = 729 通り」に
それぞれ対応する OKパターンの合計は、およそ、
140,000 件。
このOKパターンマスタを事前に用意しておけば、内部結合して検索
できて、なんて考えてましたが、すみません。
あまりメリット無さそうですね。
何か良い解決案が浮かんだら、またMLに入れます。
こうもとさん、失礼しました。
/藤澤
On Thu, 20 Sep 2007 16:59:44 +0900 (JST)
河本陽一 <komoto.yoichi @ kcc.co.jp> wrote:
> こうもとです。
>
> 藤澤 さんの書いたこと:
>
> > で、「比較データA」と一致しないものを条件としては?
>
> それを試してみると、インデックスが使われませんでした。
>
>
> > あるいは、動的にSQL文を作れるなら、下記のWHERE条件を
> > 「<>」 ではなく、「< 」か「> 」 を特定できるので、
> > それもありかと。。。
>
> それは、最初のメールの検索例の1番目と同じですよね。
>
> 問い合わせ時のSQLは、動的に作成できます。
> DBの構造もデータの持ち方も、制限なく変更できます。
> 別のアプローチで問い合わせれないかなと思っています。
>
> ======================================================================
> 河本陽一(こうもとよういち)
> mailto:komoto.yoichi @ kcc.co.jp
pgsql-jp メーリングリストの案内