I'm trying to make use of indices for following table
auftrag_l1
a_nr | integer
ts | timestamp without time zone
and 10-15 other columns
I do have indices
"idx_auftrag_l1_anr" btree (a_nr)
"idx_auftrag_l1_ts" btree (ts)
when I query the table by
explain analyze select * from auftrag_l1 where ts>'01-01-2009'::timestamp without time zone and ts <' 31-12-2010'::timestamp without time zone;
I get the following query plan
Seq Scan on auftrag_l1 (cost=0.00..334.04 rows=4885 width=89) (actual time=0.097..4.172 rows=4893 loops=1)
Filter: ((ts > 'Thu 01 Jan 00:00:00 2009'::timestamp without time zone) AND (ts < 'Fri 31 Dec 00:00:00 2010'::timestamp without time zone))
Total runtime: 4.933 ms
(3 rows)
Is there a way to make postgres use the index on the timestamp column ? The timing is from a test table, production tables have a lot more rows.
Interesting, that the #rows decrease, when I shorten the timespan, so the number of rows scanned is influenced by the selected timespan, but postgres still does seq. scans.
Gerhard