Re: [HACKERS] Re: about 7.0 LIMIT optimization

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Don Baccus <dhogaza(at)pacifier(dot)com>
Cc: "Roberto Cornacchia" <rob(dot)c(at)virgilio(dot)it>, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Re: about 7.0 LIMIT optimization
Date: 2000-02-24 02:30:29
Message-ID: 29759.951359429@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Don Baccus <dhogaza(at)pacifier(dot)com> writes:
>> For example, if you want the 10 best rows from 100000, these are the
> average numbers of comparisons:
>>
>> QuickSort: 1.6E+14
>> SortStop: 1.5E+11

Are there some zeroes missing here? That sounds like an awful lot of
operations for a quicksort of only 1E5 elements...

> This makes sense ... you can stop once you can guarantee that the first
> ten rows are in proper order. I'm not familiar with the algorithm
> but not terribly surprised that one exists.

The obvious way to do it would be with a heap-based sort. After you've
built the heap, you pull out the first ten elements and then stop.
Offhand this only seems like it'd save about half the work, though,
so maybe Roberto has a better idea.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Don Baccus 2000-02-24 02:33:36 Re: [HACKERS] Re: about 7.0 LIMIT optimization
Previous Message Tom Lane 2000-02-24 02:23:46 Re: about 7.0 LIMIT optimization