Re: Query Plan choice with timestamps
От | Giorgio Valoti |
---|---|
Тема | Re: Query Plan choice with timestamps |
Дата | |
Msg-id | 6DF1C81C-2663-4F50-9F25-F53D427DD206@mac.com обсуждение исходный текст |
Ответ на | Re: Query Plan choice with timestamps (Richard Huxton <dev@archonet.com>) |
Список | pgsql-performance |
On 07/ago/08, at 14:36, Richard Huxton wrote: > Giorgio Valoti wrote: >> On 07/ago/08, at 10:35, Richard Huxton wrote: >>> Giorgio Valoti wrote: >>>> Hi, I have a timestamptz field that I want to use with a query, >>>> but I don’t need the full timestamp resolution, so I’ve created a >>>> day_trunc(timestamptz) immutable function which I’ll use with the >>>> query and with a new index: >>>> logs=> create index test_idx on blackbox (day_trunc(ts)); >>>> However, the query plan doesn’t use the index: >>> >>> Does it use it ever? e.g. with >>> SELECT * FROM blackbox WHERE day_trunk(ts) = '...' >> It’s used: > [snip] > > OK - so the index is working. > > If you disable seq-scans before running the query, does it use it > then? > > SET enable_seqscan = off; Yes > […] > > In particular: > 1. Is the estimated cost more or less than 119773.92? QUERY PLAN ----------------------------------------------------------------------------------------- GroupAggregate (cost=0.00..122309.32 rows=74226 width=8) -> Index Scan using date_idx on blackbox (cost=0.00..101586.31 rows=247736 width=8) > > 2. How does that match the actual time taken? QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------- GroupAggregate (cost=0.00..122309.32 rows=74226 width=8) (actual time=0.222..1931.651 rows=428 loops=1) -> Index Scan using date_idx on blackbox (cost=0.00..101586.31 rows=247736 width=8) (actual time=0.072..1861.367 rows=247736 loops=1) Total runtime: 1931.782 ms But I haven’t revised the vacuum settings. Thank you -- Giorgio Valoti
В списке pgsql-performance по дате отправления: