indexes for ILIKE
Hello!
Is there any way to use an index to pick up text field
start from a substring?
I need to ignore case of characters and encoding I use is UTF-8.
I am aware of text_pattern_ops and stuff, though
FAQ says ILIKE does not use indexes.
Thanks.
--
Best regards
Ilja Golshtein
On Mon, Feb 13, 2006 at 03:33:34PM +0300, Ilja Golshtein wrote:
Hello!
Is there any way to use an index to pick up text field
start from a substring?
I need to ignore case of characters and encoding I use is UTF-8.I am aware of text_pattern_ops and stuff, though
FAQ says ILIKE does not use indexes.
You at the very least would need a text_pattern_ops index on
lower(colname). At that, I'm not sure whether it would work or whether
you need to rephrase your query as:
lower(a) like lower(b)
Hope this helps,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
Show quoted text
Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
tool for doing 5% of the work and then sitting around waiting for someone
else to do the other 95% so you can sue them.
We tried this recently. You have to use lower(a) like lower(b) for
the index to work.
____________________________________________________________________
Brendan Duddridge | CTO | 403-277-5591 x24 | brendan@clickspace.com
ClickSpace Interactive Inc.
Suite L100, 239 - 10th Ave. SE
Calgary, AB T2G 0V9
On Feb 13, 2006, at 5:42 AM, Martijn van Oosterhout wrote:
Show quoted text
On Mon, Feb 13, 2006 at 03:33:34PM +0300, Ilja Golshtein wrote:
Hello!
Is there any way to use an index to pick up text field
start from a substring?
I need to ignore case of characters and encoding I use is UTF-8.I am aware of text_pattern_ops and stuff, though
FAQ says ILIKE does not use indexes.You at the very least would need a text_pattern_ops index on
lower(colname). At that, I'm not sure whether it would work or whether
you need to rephrase your query as:lower(a) like lower(b)
Hope this helps,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/
kleptog/Patent. n. Genius is 5% inspiration and 95% perspiration. A patent
is a
tool for doing 5% of the work and then sitting around waiting for
someone
else to do the other 95% so you can sue them.