Subject Re: [Firebird-Architect] Re: SMP - increasing single-query performance?
Author Jim Starkey
Alex Peshkov wrote:
> Trying to run separate parts of query execution in different threads we
> should sooner waste more time syncing between them. But there is one
> exception: we can separate fetching data to be sorted and sort itself
> with minimum syncs between threads. Certainly it makes sense only for
> really big sorts, when we do partial sort and merge results later. It's
> possible to start partial sorts in separate threads, as long as we have
> enough CPUs in the system. This should give an effect when restoring big
> databases. Certainly, in case when crazy user requested a huge amount of
> data to be returned in single query, parallel sort can be useful too.
>
>
That's a good idea. Put the quick sort into an other thread to run
while the client thread is fetching the next batch of records to be
sorted. I suppose that intermediate merges could also be done, though
an estimate of the gain is hard to do in one's head...