Question about index usage
От | Guido Neitzer |
---|---|
Тема | Question about index usage |
Дата | |
Msg-id | 24BD8F80-24C0-4C12-B3C3-32C2F502300B@pharmaline.de обсуждение исходный текст |
Ответы |
Re: Question about index usage
Re: Question about index usage |
Список | pgsql-general |
Hi. Is there a reason why this query: select id from dga_dienstleister where plz in ('45257', '45259'); doesn't use this index: "dga_dienstleister_plz_index" btree (plz varchar_pattern_ops) but uses this index: "dga_dienstleister_plz_index2" btree (plz) I had the first index setup for queries with "plz like '4525%'" but I never tested the "in" query until I saw in the logs that these queries where slow compared to the rest. Query plans at the end. cug DGADB=# explain analyse select id from dga_dienstleister where plz like '45257'; Q UERY PLAN ------------------------------------------------------------------------ ---------------------------------------------------------------- Bitmap Heap Scan on dga_dienstleister (cost=2.07..82.41 rows=21 width=8) (actual time=13.489..14.211 rows=16 loops=1) Filter: ((plz)::text ~~ '45257'::text) -> Bitmap Index Scan on dga_dienstleister_plz_index (cost=0.00..2.07 rows=21 width=0) (actual time=13.323..13.323 rows=16 loops=1) Index Cond: ((plz)::text ~=~ '45257'::character varying) Total runtime: 14.328 ms (5 rows) DGADB=# explain analyse select id from dga_dienstleister where plz = '45257'; QUERY PLAN ------------------------------------------------------------------------ --------------------------------------------------------------- Bitmap Heap Scan on dga_dienstleister (cost=2.07..82.41 rows=21 width=8) (actual time=0.486..0.663 rows=16 loops=1) Recheck Cond: ((plz)::text = '45257'::text) -> Bitmap Index Scan on dga_dienstleister_plz_index2 (cost=0.00..2.07 rows=21 width=0) (actual time=0.424..0.424 rows=16 loops=1) Index Cond: ((plz)::text = '45257'::text) Total runtime: 0.826 ms (5 rows)
Вложения
В списке pgsql-general по дате отправления: