Thread: Is index usage in LIKE-queries with UTF-8 implemented in PG-8.3 ?
Hi all. Anybody knows if the following query will use an index-scan in PG-8.3? SELECT name FROM person WHERE name LIKE 'and%'; I know this works in "C"-locale, but I need it with UTF-8, probably the rest of the world soon too... -- Andreas Joseph Krogh <andreak@officenet.no> Senior Software Developer / Manager ------------------------+---------------------------------------------+ OfficeNet AS | The most difficult thing in the world is to | Karenslyst Allé 11 | know how to do a thing and to watch | PO. Box 529 Skøyen | somebody else doing it wrong, without | 0214 Oslo | comment. | NORWAY | | Tlf: +47 24 15 38 90 | | Fax: +47 24 15 38 91 | | Mobile: +47 909 56 963 | | ------------------------+---------------------------------------------+
Hello, it's possible. You have to use varchar_pattern_ops: CREATE INDEX like_index ON person(name varchar_pattern_ops); Regards Pavel Stehule 2007/6/28, Andreas Joseph Krogh <andreak@officenet.no>: > Hi all. > Anybody knows if the following query will use an index-scan in PG-8.3? > > SELECT name FROM person WHERE name LIKE 'and%'; > > I know this works in "C"-locale, but I need it with UTF-8, probably the rest > of the world soon too... > > -- > Andreas Joseph Krogh <andreak@officenet.no> > Senior Software Developer / Manager > ------------------------+---------------------------------------------+ > OfficeNet AS | The most difficult thing in the world is to | > Karenslyst Allé 11 | know how to do a thing and to watch | > PO. Box 529 Skøyen | somebody else doing it wrong, without | > 0214 Oslo | comment. | > NORWAY | | > Tlf: +47 24 15 38 90 | | > Fax: +47 24 15 38 91 | | > Mobile: +47 909 56 963 | | > ------------------------+---------------------------------------------+ > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq >
Andreas Joseph Krogh <andreak@officenet.no> writes: > Anybody knows if the following query will use an index-scan in PG-8.3? > SELECT name FROM person WHERE name LIKE 'and%'; > I know this works in "C"-locale, but I need it with UTF-8, "C locale" and "UTF8" are entirely orthogonal things. regards, tom lane
Re: Is index usage in LIKE-queries with UTF-8 implemented in PG-8.3 ?
From
Andreas Joseph Krogh
Date:
On Thursday 28 June 2007 17:20:56 Tom Lane wrote: > Andreas Joseph Krogh <andreak@officenet.no> writes: > > Anybody knows if the following query will use an index-scan in PG-8.3? > > SELECT name FROM person WHERE name LIKE 'and%'; > > I know this works in "C"-locale, but I need it with UTF-8, > > "C locale" and "UTF8" are entirely orthogonal things. > > regards, tom lane I had the impression that LIKE-queries of type LIKE '123%' couldn't use an index if encoding was UTF-8. I was wrong obviously. The varchar_pattern_ops suggested by Pavel did the trick for me. Tom: Can you comment on, very short, if the discussion on HACKERS with title "like/ilike improvements" will improve LIKE queries like this? Anybody knows if queries of type "LIKE '%234%'" ever will be able to use indexes, and if someone is working on it? I'm sure I'm not the only one who would very much appreciate it:-) -- Andreas Joseph Krogh <andreak@officenet.no> Senior Software Developer / Manager ------------------------+---------------------------------------------+ OfficeNet AS | The most difficult thing in the world is to | Karenslyst Allé 11 | know how to do a thing and to watch | PO. Box 529 Skøyen | somebody else doing it wrong, without | 0214 Oslo | comment. | NORWAY | | Tlf: +47 24 15 38 90 | | Fax: +47 24 15 38 91 | | Mobile: +47 909 56 963 | | ------------------------+---------------------------------------------+
Andreas Joseph Krogh <andreak@officenet.no> writes: > Anybody knows if queries of type "LIKE '%234%'" ever will be able to use > indexes, and if someone is working on it? Perhaps you are looking for full text search (contrib/tsearch2)? regards, tom lane
Re: Is index usage in LIKE-queries with UTF-8 implemented in PG-8.3 ?
From
Andreas Joseph Krogh
Date:
On Thursday 28 June 2007 17:54:59 Tom Lane wrote: > Andreas Joseph Krogh <andreak@officenet.no> writes: > > Anybody knows if queries of type "LIKE '%234%'" ever will be able to use > > indexes, and if someone is working on it? > > Perhaps you are looking for full text search (contrib/tsearch2)? No, I know very well that tsearch2 exists, and use it, but it doesn't handle "contains" queries. -- Andreas Joseph Krogh <andreak@officenet.no> Senior Software Developer / Manager ------------------------+---------------------------------------------+ OfficeNet AS | The most difficult thing in the world is to | Karenslyst Allé 11 | know how to do a thing and to watch | PO. Box 529 Skøyen | somebody else doing it wrong, without | 0214 Oslo | comment. | NORWAY | | Tlf: +47 24 15 38 90 | | Fax: +47 24 15 38 91 | | Mobile: +47 909 56 963 | | ------------------------+---------------------------------------------+
On Thu, 28 Jun 2007, Andreas Joseph Krogh wrote: > Anybody knows if queries of type "LIKE '%234%'" ever will be able to use > indexes, and if someone is working on it? I'm sure I'm not the only one who > would very much appreciate it:-) > This is quite easily could be done with tsearch using substring dictionary. Search archives ! Regards, Oleg _____________________________________________________________ Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru), Sternberg Astronomical Institute, Moscow University, Russia Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(495)939-16-83, +007(495)939-23-83