Re: [GENERAL] Matching indexe for timestamp - Mailing list pgsql-general

From Adrian Klaver
Subject Re: [GENERAL] Matching indexe for timestamp
Date
Msg-id 6f34091c-22fa-18eb-4208-ed67dd8a2edb@aklaver.com
Whole thread Raw
In response to [GENERAL] Matching indexe for timestamp  (Job <Job@colliniconsulting.it>)
List pgsql-general
On 01/09/2017 01:58 PM, Job wrote:
> Hello,
>
> on this table:
>
>                                           Table "public.gruorari_tmp"
>   Column   |          Type          |
> Modifiers
> -----------+------------------------+--------------------------------------------------------------------------
>  id        | numeric(1000,1)        | not null default
> function_get_next_sequence('gruorari_tmp_id_seq'::text)
>  idgrucate | numeric(1000,1)        |
>  dalle     | time without time zone |
>  alle      | time without time zone |
>  gg_sett   | integer                |
>  azione    | character varying      |
> Indexes:
>     "keygruorari_tmp" PRIMARY KEY, btree (id)
>     "gruorari_tmp_alle_idx" btree (alle)
>     "gruorari_tmp_dalle_alle_idx" btree (dalle, alle)
>     "gruorari_tmp_dalle_idx" btree (dalle)
>     "gruorari_tmp_gg_sett_idx" btree (gg_sett)
>     "gruorari_tmp_idgrucate_idx" btree (idgrucate)
>


> i have a specific condition (i report example value):
> "and ( gruorari_tmp.id is null or ( 2 = gg_sett and '16:00:00'::time
> between gruorari_tmp.dalle and gruorari_tmp.alle ) )"
>
> But in the query planner, at that point, Postgresql 9.6.1 seems not to
> use any index (single on dalle / alle field and combindex index on
> dalle+alle) but it use seqscan:
>
> Seq Scan on gruorari_tmp  (cost=0.00..5.90 rows=290 width=68) (actual
> time=0.014..0.062 rows=290 loops=1)
>                                  ->  Hash  (cost=164.06..164.06 rows=1
> width=29) (actual time=0.770..0.770 rows=1 loops=1)
> And it seems to be the main cost for the whole query.
> Which kind of index should i use for that condition/fields?

As before, giving just snippets of the information is going to prolong
or prevent arriving at an answer. So:

1) What is the complete query?

2) What is the complete EXPLAIN ANALYZE?


>
> Thank you!
>
> /F


--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Kevin Grittner
Date:
Subject: Re: [GENERAL] Improve PostGIS performance with 62 million rows?
Next
From: Adrian Klaver
Date:
Subject: Re: R: [GENERAL] Matching indexe for timestamp