The correct strategy IMHO would
be applying the order by and limit for each child table (which results
in an index scan, if possible), appending, then finally sorting a bunch
of rows, and limiting again.

This would be a win in some cases, and in many others a loss (ie, wasted
sort steps).  The hard part is determining when to apply it.

I don't actually know how many smaller separate sorts compare to a single
big sort, but I guess the difference wouldn't be so big if the LIMIT is
low. Add to this that you don't need to append the whole rowsets, but
just smaller ones.

I think if you have a bunch of sorted thingies, you'd perform exactly one merge step and be done, should be possible to do that in O(child_tables * rows)...

Mit freundlichem Gruß
Jens Schicke
--
Jens Schicke                  [EMAIL PROTECTED]
asco GmbH                     http://www.asco.de
Mittelweg 7                   Tel 0531/3906-127
38106 Braunschweig            Fax 0531/3906-400

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to