Hi
I am running the following query again a partitioned table in 8.2.7. It does index scans which is unexpected as there are indexes for the log_date column.
min(log_date) from data.table
"Aggregate (cost=739932.02..739932.02 rows=1 width=8)"
" -> Append (cost=0.00..685106.21 rows=21930321 width=8)"
" -> Seq Scan on table (cost=0.00..33827.10 rows=1215710 width=8)"
" -> Seq Scan on table_yy2009mm03 table (cost=0.00..88056.39 rows=438839 width=8)"
" -> Seq Scan on table_yy2009mm04 table (cost=0.00..204606.67 rows=7344967 width=8)"
" -> Seq Scan on table_yy2009mm05 table (cost=0.00..159210.91 rows=5735091 width=8)"
" -> Seq Scan on table_yy2009mm06 table (cost=0.00..199393.74 rows=7195574 width=8)"
" -> Seq Scan on table_yy2009mm07 table (cost=0.00..11.40 rows=140 width=8)"
though if i run it only agains the one table it is significantly faster and uses the index
select min(log_date) from only data.table
"Result (cost=0.06..0.07 rows=1 width=0)"
" InitPlan"
" -> Limit (cost=0.00..0.06 rows=1 width=8)"
" -> Index Scan using idx_table_log_date_only on table (cost=0.00..68272.93 rows=1215710 width=8)"
" Filter: (log_date IS NOT NULL)"
Am I doing something wrong or is this expected.
I tried the old method of SELECT col FROM table ORDER BY col DESC LIMIT 1
But it does not work either.
--
Tim Haak
Email: timh@lucidview.net
Tel: +27 12 658 9019