Re: LIKE and INDEX - Mailing list pgsql-performance

From Rod Taylor
Subject Re: LIKE and INDEX
Date
Msg-id 1083778304.60668.3.camel@jester
Whole thread Raw
In response to LIKE and INDEX  ("Jie Liang" <jie@stbernard.com>)
List pgsql-performance
> but if I use:
> select url from urlinfo where url like 'http://%.lycos.de';
> it won't use index at all, NOT good!
> is there any way I can force secon query use index???

create index nowww on urlinfo(replace(replace(url, 'http://', ''),
'www.', '')));

SELECT url
  FROM urlinfo
WHERE replace(replace(url, 'http://', ''), 'www.', '') = 'lycos.de'
   AND url LIKE 'http://%.lycos.de' ;

The replace() will narrow the search down to all records containing
lycos.de. Feel free to write a more complex alternative for replace()
that will deal with more than just optional www.

Once the results have been narrowed down, you may use the original like
expression to confirm it is your record.


pgsql-performance by date:

Previous
From: Richard Huxton
Date:
Subject: Re: LIKE and INDEX
Next
From: "Carlos Eduardo Smanioto"
Date:
Subject: [OFF-TOPIC] - Known maximum size of the PostgreSQL Database