Re: Query planner question

Поиск
Список
Период
Сортировка
От Jeff Janes
Тема Re: Query planner question
Дата
Msg-id CAMkU=1xsFm4p_0K-R+i_WuGL4whAB2fwbDE7xwg3fXZMR1j8Dg@mail.gmail.com
обсуждение исходный текст
Ответ на Query planner question  (Soni M <diptatapa@gmail.com>)
Список pgsql-general
On Wednesday, August 20, 2014, Soni M <diptatapa@gmail.com> wrote:
Hi Everyone,

I have this query :

select t.ticket_id ,
tb.transmission_id
from ticket t,
transmission_base tb
where t.latest_transmission_id = tb.transmission_id
and t.ticket_number = tb.ticket_number
and tb.parse_date > ('2014-07-31');


Indexes on ticket :
    "ticket_pkey" PRIMARY KEY, btree (ticket_id) CLUSTER
    "ticket_by_latest_transmission" btree (latest_transmission_id)
    "ticket_by_ticket_number" btree (ticket_number)

This query only returns some portions of rows from ticket table.
The question is, Why does postgres need to get all the rows from ticket table in order to complete this query?
Can't postgres use indexes to get only needed rows on ticket table?


It can, but having separate indexes on latest_transmission_id and ticket_number is not going to work.

You need a joint index on both columns.
 
 Cheers,

Jeff

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

Предыдущее
От: David G Johnston
Дата:
Сообщение: Re: Query planner question
Следующее
От: Alban Hertroys
Дата:
Сообщение: Re: Query planner question