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

From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck?
Date: 2016-05-10 07:17:16
Message-ID: 20160510071716.GC21910@vdsl.uvw.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: 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=1109868 loops=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=1109868 loops=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(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Oleg Bartunov 2016-05-10 08:36:03 Re: [pgsql-ru-general] Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck?
Previous Message Oleg Bartunov 2016-05-09 15:31:48 Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck?