[pgsql-jp: 26714] Re: Likeの部分一致で検索
KAWAI,Takanori
GCD00051 @ nifty.ne.jp
2002年 7月 17日 (水) 14:09:56 JST
川合孝典です。
----- Original Message -----
From: "Hashimoto, Masaru" <hashimoto-m @ comtecc.net>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Wednesday, July 17, 2002 12:21 PM
Subject: [pgsql-jp: 26708] Re: Likeの部分一致で検索
> 橋本です。
(中略)
> ==ヒット件数取得==
> SELECT Count(*) As cnt FROM tbl
> WHERE
> ( (
> tbl.keyword1 ILIKE '%windows%'
> OR tbl.keyword2 ILIKE '%windows%'
> OR tbl.keyword3 ILIKE '%windows%'
> OR tbl.keyword4 ILIKE '%windows%'
> OR tbl.keyword5 ILIKE '%windows%'
(以下略)
素朴に「すごいことになってますねぇ」だったりしますが...。
部分一致で検索するということでは、総なめしますから
そうそう速くなることはないとは思いますが、
中間一致でいいのであれば、
SELECT Count(*) As cnt FROM tbl
WHERE
keyword1 || '::' || keyword2 || '::' || keyword3 || '::' ||
keyword4 || '::' || keyword5 || '::' || keyword6 || '::' ||
keyword7 || '::' || keyword8 || '::' || keyword9 || '::' ||
keyword10|| '::' || keyword11|| '::' || keyword10|| '::' ||
keyword13|| '::' || keyword14|| '::' || keyword15|| '::' ||
keyword16|| '::' || keyword17|| '::' || keyword18
~* 'windows|ウィンドウズ|ウインドウズ';
としてみるとか?
#タイプにかかる時間は画期的に短くなるでしょ(^^;
'::'はそのままつなげると"win"次で"dows"でもマッチしちゃうので
つけている単なる区切り文字です。事情に合わせて変えてください。
===================================================
川合 孝典 (Hippo2000)
DBI日本語メーリングリスト管理人、Kansai.pm所属
kwitknr @ cpan.org GCD00051 @ nifty.ne.jp
http://member.nifty.ne.jp/hippo2000、http://www.hippo2000.info/
Perl 6開発補助金が底を突く?
http://member.nifty.ne.jp/hippo2000/perlgrant.htm
===================================================
pgsql-jp メーリングリストの案内