Обсуждение: Is index usage in LIKE-queries with UTF-8 implemented in PG-8.3 ?

Поиск
Список
Период
Сортировка

Is index usage in LIKE-queries with UTF-8 implemented in PG-8.3 ?

От
Andreas Joseph Krogh
Дата:
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 |                                             |
------------------------+---------------------------------------------+


Re: Is index usage in LIKE-queries with UTF-8 implemented in PG-8.3 ?

От
"Pavel Stehule"
Дата:
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
>


Re: Is index usage in LIKE-queries with UTF-8 implemented in PG-8.3 ?

От
Tom Lane
Дата:
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 ?

От
Andreas Joseph Krogh
Дата:
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 |                                             |
------------------------+---------------------------------------------+


Re: Is index usage in LIKE-queries with UTF-8 implemented in PG-8.3 ?

От
Tom Lane
Дата:
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 ?

От
Andreas Joseph Krogh
Дата:
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 |                                             |
------------------------+---------------------------------------------+


Re: Is index usage in LIKE-queries with UTF-8 implemented in PG-8.3 ?

От
Oleg Bartunov
Дата:
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