Re: Need to improve performance - Mailing list pgsql-general

From Vassili A Akimov
Subject Re: Need to improve performance
Date
Msg-id 3953A1D8.DF3392CD@erols.com
Whole thread Raw
In response to RE: Need to improve performance  ("Andrew Snow" <als@fl.net.au>)
Responses Re: Need to improve performance
List pgsql-general
Andrew Snow wrote:

> > So we were advised to use "fulltextindex".- chunk
> > this fields on single words and make new table with words and oids in
> > it. After we made this table its size was 2940360 records. And I tried
> > to measure the time:
> >
> >  ....
> >
> > select f1.id from app_fti f1, app_fti f2 where f1.string~*'visual' and
> > f2.string~*'basic' and f1.id=f2.id;
>
> What is causing it to be so slow is the use of regular expression pattern
> matching.  For reasons I don't know, regular expression evaluation in a
> query is fairly slow in PostgreSQL.  But since you have (correctly, I think)
> made a full text index, why do you still need to use regexp's ?
>
> Replace the ~* operator in the query above with 'LIKE', and you should find
> it several times faster.
>
> Please let us know the results of your testing.
>
> - Andrew

        Thank you gentelmen! It seems that regexp was the reason! I enabled
likeplanning and it i=didn't improve the performance until I replaced '~*' with
'LIKE'.  Thank you again!
    V.


pgsql-general by date:

Previous
From: "Robert B. Easter"
Date:
Subject: Re: Conditions in PostGres SQL
Next
From: Jim Mercer
Date:
Subject: Re: followup to SELECT/INSERT problem