Re: GIN improvements part2: fast scan
От | Alexander Korotkov |
---|---|
Тема | Re: GIN improvements part2: fast scan |
Дата | |
Msg-id | CAPpHfds0C-tvEvmLbuQrbbptp3sx2WhH=eM0mcArFWtHZNDUUA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: GIN improvements part2: fast scan (Tomas Vondra <tv@fuzzy.cz>) |
Список | pgsql-hackers |
On Fri, Jan 24, 2014 at 6:48 AM, Tomas Vondra <tv@fuzzy.cz> wrote:
------
With best regards,
Alexander Korotkov.
make sure I understand what to expect. My understanding is that thisI plan to do more thorough testing over the weekend, but I'd like to
patch should:
- give the same results as the current code (e.g. the fulltext should
not return different rows / change the ts_rank etc.)
- improve the performance of fulltext queries
Are there any obvious rules what queries will benefit most from this?
The queries generated by the tool I'm using for testing are mostly of
this form:
SELECT id FROM messages
WHERE body_tsvector @ plainto_tsquery('english', 'word1 word2 ...')
ORDER BY ts_rank(...) DESC LIMIT :n;
with varying number of words and LIMIT values. During the testing today
I haven't noticed any obvious performance difference, but I haven't
spent much time on that.
These patches optimizes only query with multiple WHERE clauses. For instance:
SELECT id FROM messages
WHERE body_tsvector @ plainto_tsquery('english', 'word1') AND body_tsvector @ plainto_tsquery('english', 'word2')
ORDER BY ts_rank(...) DESC LIMIT :n;
WHERE body_tsvector @ plainto_tsquery('english', 'word1') AND body_tsvector @ plainto_tsquery('english', 'word2')
ORDER BY ts_rank(...) DESC LIMIT :n;
Optimizations inside single clause will be provided as separate patch.
------
With best regards,
Alexander Korotkov.
В списке pgsql-hackers по дате отправления: