Composite index and min()

Поиск
Список
Период
Сортировка
От James Sewell
Тема Composite index and min()
Дата
Msg-id CANkGpBuBSuR6X0=j4zPz=4XZQqHD_MPLx+pTQuGKm19Akhadrg@mail.gmail.com
обсуждение исходный текст
Ответы Re: Composite index and min()  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Список pgsql-hackers
Hello,

I have the following table:

 \d a
         Table "phxconfig.a"
    Column     |  Type   | Modifiers
---------------+---------+-----------
 phx_run_id    | integer |
 cell_id       | integer |
Indexes:
    "a_phx_run_id_cell_id_idx" btree (phx_run_id, cell_id)

When I use a min() query I get the following plans:

test=# explain select min(phx_run_id) from a;
                                              QUERY PLAN
-------------------------------------------------------------------------------------------------------
 Result  (cost=0.22..0.23 rows=1 width=0)
   InitPlan 1 (returns $0)
     ->  Limit  (cost=0.14..0.22 rows=1 width=4)
           ->  Index Only Scan using a_phx_run_id_cell_id_idx on a  (cost=0.14..7.89 rows=100 width=4)
                 Index Cond: (phx_run_id IS NOT NULL)

test=# explain select min(cell_id) from a;
                       QUERY PLAN
---------------------------------------------------------
 Aggregate  (cost=2.25..2.26 rows=1 width=4)
   ->  Seq Scan on a  (cost=0.00..2.00 rows=100 width=4)

Can anyone comment on why this happens? 

The index  kicks in when I do an explicit cell_id comparison. These are large tables, and they are in a partition layout so it really hurts when I do the min call on the parent table.

Cheers,

James Sewell,
PostgreSQL Team Lead / Solutions Architect
______________________________________
 

Level 2, 50 Queen St, Melbourne VIC 3000

(+61) 3 8370 8000  W www.lisasoft.com  (+61) 3 8370 8099
 


The contents of this email are confidential and may be subject to legal or professional privilege and copyright. No representation is made that this email is free of viruses or other defects. If you have received this communication in error, you may not copy or distribute any part of it or otherwise disclose its contents to anyone. Please advise the sender of your incorrect receipt of this correspondence.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Fujii Masao
Дата:
Сообщение: Re: Add generate_series(numeric, numeric)
Следующее
От: Jim Nasby
Дата:
Сообщение: Re: Partitioning WIP patch