From: | "Andrey N(dot) Oktyabrski" <ano(at)antora(dot)ru> |
---|---|
To: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Полнотекстовый поиск в 8.3 |
Date: | 2008-11-22 04:59:27 |
Message-ID: | 492791AF.7060000@antora.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Здравствуйте.
Обнаружил пренеприятнейшую вещь:
cms1=# EXPLAIN ANALYZE SELECT id FROM _fts_text fts WHERE fts.vector @@@
to_tsquery('некоторые | слова');
QUERY PLAN
-------------------------------------------------------
Bitmap Heap Scan on _fts_text fts (cost=273.04..1261.39 rows=274
width=4) (actual time=14.164..6063.459 rows=26651 loops=1)
Filter: (vector @@@ to_tsquery('некоторые | слова'::text))
-> Bitmap Index Scan on fts_text_vector_idx (cost=0.00..272.97
rows=274 width=0) (actual time=11.314..11.314 rows=27472 loops=1)
Index Cond: (vector @@@ to_tsquery('некоторые | слова'::text))
Total runtime: 6074.753 ms
(5 rows)
cms1=# EXPLAIN ANALYZE SELECT id FROM _fts_text fts WHERE fts.vector @@
to_tsquery('некоторые | слова');
QUERY PLAN
-------------------------------------------------------
Bitmap Heap Scan on _fts_text fts (cost=273.04..1261.39 rows=274
width=4) (actual time=18.213..845.861 rows=26651 loops=1)
Recheck Cond: (vector @@ to_tsquery('некоторые | слова'::text))
-> Bitmap Index Scan on fts_text_vector_idx (cost=0.00..272.97
rows=274 width=0) (actual time=14.879..14.879 rows=27472 loops=1)
Index Cond: (vector @@ to_tsquery('некоторые | слова'::text))
Total runtime: 854.274 ms
(5 rows)
Планы отличаются только одной строчкой - в одном Filter, в другом
Recheck Cond. Вот, собственно, почему они отличаются? Что можно сделать,
чтобы три собаки работали если не так же быстро, то хотя бы не на
порядок медленнее?
From | Date | Subject | |
---|---|---|---|
Next Message | Andrey N. Oktyabrski | 2008-11-22 08:47:25 | Re: Полнотекстовый поиск в 8.3 |
Previous Message | Oleg Bartunov | 2008-11-21 22:15:47 | Re: Полнотекстовый поиск в 8.3 |