Re: partitioned table and ORDER BY indexed_field DESC LIMIT 1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Luke Lonergan wrote:
On 11/7/07 10:21 PM, "Gregory Stark" <stark@xxxxxxxxxxxxxxxx> wrote:

part=# explain SELECT * FROM n_traf ORDER BY date_time LIMIT 1;
                                                                  QUERY PLAN
-----------------------------------------------------------------------------
--------------------------------------------------------------------
Limit  (cost=198367.14..198367.15 rows=1 width=20)
  ->  Sort  (cost=198367.14..200870.92 rows=1001510 width=20)
        Sort Key: public.n_traf.date_time
        ->  Result  (cost=0.00..57464.92 rows=1001510 width=20)
              ->  Append  (cost=0.00..57464.92 rows=1001510 width=20)
                    ->  Index Scan using n_traf_date_time_login_id on n_traf
(cost=0.00..66.90 rows=1510 width=20)
That looks suspicious. There's likely no good reason to be using the index
scan unless it avoids the sort node above the Append node. That's what I hope
to do by having the Append executor code do what's necessary to maintain the
order.

Yah - the way it works in GPDB is that you get a non-sorting plan with an
index scan below the parent - that was the point of the fix. Hmm.


Unfortunately our plan in GPDB looks exactly the same in this case - so we have a bit of work to do as well! Initially I wondered if I have got something wrong in the patch... and checked on GPDB - only to see the same behaviour! (see prev comment about LIMIT).

Cheers

Mark

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux