Skip site navigation (1) Skip section navigation (2)

Полнотекстовый поиск в 8.3

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 (view raw or flat)
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. Вот, собственно, почему они отличаются? Что можно сделать, 
чтобы три собаки работали если не так же быстро, то хотя бы не на 
порядок медленнее?

Responses

pgsql-ru-general by date

Next:From: Andrey N. OktyabrskiDate: 2008-11-22 08:47:25
Subject: Re: Полнотекстовый поиск в 8.3
Previous:From: Oleg BartunovDate: 2008-11-21 22:15:47
Subject: Re: Полнотекстовый поиск в 8.3

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group