Re: How to boost performance of ilike queries ?
От | Antony Paul |
---|---|
Тема | Re: How to boost performance of ilike queries ? |
Дата | |
Msg-id | 2989532e05012500235c78fd47@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: How to boost performance of ilike queries ? (Russell Smith <mr-russ@pws.com.au>) |
Ответы |
Re: How to boost performance of ilike queries ?
Re: How to boost performance of ilike queries ? |
Список | pgsql-performance |
Creating an index and using lower(column) does not change the explain plan estimates. It seems that it is not using index for like or ilike queries irrespective of whether it have a pattern matching character in it or not. (using PostgreSQL 7.3.3) On googling I found this thread http://archives.postgresql.org/pgsql-sql/2004-11/msg00285.php It says that index is not used if the search string begins with a % symbol. rgds Antony Paul On Mon, 24 Jan 2005 20:58:54 +1100, Russell Smith <mr-russ@pws.com.au> wrote: > On Mon, 24 Jan 2005 08:18 pm, Antony Paul wrote: > > Hi, > > I have a query which is executed using ilike. The query values are > > received from user and it is executed using PreparedStatement. > > Currently all queries are executed as it is using iilike irrespective > > of whether it have a pattern matching character or not. Can using = > > instead of ilike boot performance ?. If creating index can help then > > how the index should be created on lower case or uppercase ?. > > > It depends on the type of queries you are doing. > > changing it to something like lower(column) like lower('text%'), and > creating an index on lower(column) will give you much better performance. > > If you have % in the middle of the query, it will still be slow, but I assume that is not > the general case. > > I am not sure what the effect of it being prepared will be, however I've had much success > with the method above without the queries being prepared. Others may be able to offer advice > about if prepare will effect it. > > Regards > > Russell Smith >
В списке pgsql-performance по дате отправления: