From: | "Andrew Snow" <als(at)fl(dot)net(dot)au> |
---|---|
To: | "Vassili A Akimov" <vassili(at)erols(dot)com> |
Cc: | "Pgsql-General(at)Postgresql(dot) Org" <pgsql-general(at)postgresql(dot)org> |
Subject: | RE: Need to improve performance |
Date: | 2000-06-23 16:17:05 |
Message-ID: | NHEALMDKDACEIPBNOOOCMEDHCGAA.als@fl.net.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-sql |
> 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
From | Date | Subject | |
---|---|---|---|
Next Message | Joseph Shraibman | 2000-06-23 16:36:04 | Is this still true? |
Previous Message | The Hermit Hacker | 2000-06-23 16:10:37 | Re: app-index in www.pgsql.com |
From | Date | Subject | |
---|---|---|---|
Next Message | D'Arcy J.M. Cain | 2000-06-23 16:39:10 | Re: Using substr with user defined types |
Previous Message | Oliver Elphick | 2000-06-23 16:07:20 | Re: Orderby two different columns |