Re: Need to improve performance
От | Vassili A Akimov |
---|---|
Тема | Re: Need to improve performance |
Дата | |
Msg-id | 3953A1D8.DF3392CD@erols.com обсуждение исходный текст |
Ответ на | RE: Need to improve performance ("Andrew Snow" <als@fl.net.au>) |
Ответы |
Re: Need to improve performance
|
Список | 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 по дате отправления: