Hi Everyone,I have this query :select t.ticket_id ,tb.transmission_idfrom ticket t,transmission_base tbwhere t.latest_transmission_id = tb.transmission_idand t.ticket_number = tb.ticket_numberand tb.parse_date > ('2014-07-31');Execution plan: http://explain.depesz.com/s/YAakIndexes 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