Обсуждение: index-only-scan when there is an index on all columns

Поиск
Список
Период
Сортировка

index-only-scan when there is an index on all columns

От
Hadi Moshayedi
Дата:
With the following definition:

create table t1 (a int, b int, c int);
create index on t1 (a,b,c);

I get the following plan for the following query:

postgres=# explain select sum(c) from t1 where a > 0;
                                    QUERY PLAN                                    
-----------------------------------------------------------------------------------
 Aggregate  (cost=29.62..29.63 rows=1 width=8)
   ->  Bitmap Heap Scan on t1  (cost=9.42..27.92 rows=680 width=4)
         Recheck Cond: (a > 0)
         ->  Bitmap Index Scan on t1_a_b_c_idx  (cost=0.00..9.25 rows=680 width=0)
               Index Cond: (a > 0)
(5 rows)

I am wondering why is it not using index-only-scan (which would use the cache better) and instead it does a bitmap scan?

Thanks,
Hadi