Re: Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck? - Mailing list pgsql-ru-general

From Dmitry E. Oboukhov
Subject Re: Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck?
Date
Msg-id 20160510071716.GC21910@vdsl.uvw.ru
Whole thread Raw
In response to Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck?  (Oleg Bartunov <obartunov@gmail.com>)
List pgsql-ru-general
>>> EXPLAIN ANALYZE SELECT * FROM test WHERE tags @> ARRAY['abc', 'cde']::TEXT[];
>>                                                              QUERY PLAN
>>
-------------------------------------------------------------------------------------------------------------------------------------
>>  Bitmap Heap Scan on test  (cost=17511.01..131825.49 rows=1668518 width=41) (actual time=286.438..519.681
rows=1109868loops=1) 
>>    Recheck Cond: (tags @> '{abc,cde}'::text[])
>>    Heap Blocks: exact=93458
->>>  Bitmap Index Scan on test_idx  (cost=0.00..17093.88 rows=1668518 width=0) (actual time=271.244..271.244
rows=1109868loops=1) 
>>          Index Cond: (tags @> '{abc,cde}'::text[])
>>  Planning time: 0.665 ms
>>  Execution time: 552.225 ms
>> (7 строк)
>>
>> В документации написано что Gin использует Recheck только когда
>> используются веса, но тут никакие веса не используются.
>> На recheck он потратил столько же времени сколько на выборку.
>>
>> можно ли от этого избавиться?

> Recheck связан с bitmap-ом здесь. Analyzе всегда выдает recheck и надо
> смотреть на  строчку  Heap Blocks: ...... В ваше случае recheck-а
> реально не было, видно work_mem у вас приличного размера, так что
> особенно оптимизировать нечего. А вот если у вас будет в этой строке
> написано lossy=..., то тут и будет речек.

эм я тогда не очень понимаю EXPLAIN.
он пишет что индекс скан у него закончился на 271 милисекунде.
а потом речек и битмап скан. который закончился на 519 милисекунде.

если бы речек был то у него свое время было бы прописано?
так?
--

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachment

pgsql-ru-general by date:

Previous
From: Oleg Bartunov
Date:
Subject: Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck?
Next
From: Oleg Bartunov
Date:
Subject: Re: [pgsql-ru-general] Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck?