Re: Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck?
От | Dmitry E. Oboukhov |
---|---|
Тема | Re: Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck? |
Дата | |
Msg-id | 20160510071716.GC21910@vdsl.uvw.ru обсуждение исходный текст |
Ответ на | Re: [pgsql-ru-general] GIN индекс - можно ли избавиться от Recheck? (Oleg Bartunov <obartunov@gmail.com>) |
Список | 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
Вложения
В списке pgsql-ru-general по дате отправления: