2008/11/15 Tom Lane <[EMAIL PROTECTED]> > "=?ISO-8859-5?B?svbi0Nv22SDC2Nzn2OjY3Q==?=" <[EMAIL PROTECTED]> writes: > > I am not. I can't see how materialize can multiply number of rows it gets > > from sort by 100. > > Is it the right-hand input of a merge join? If so you're looking at > mark/restore rescans, ie, repeated fetches of the same tuples. There > must be a huge number of duplicate join keys in that relation to make > for such an increase though. Normally the planner avoids putting a > table with lots of duplicates as the RHS of a merge, but if it doesn't > have good statistics for the join key then it might not realize the > problem. >
OK, thanks for cleaning-up some mystery. But, returning to original Q: Do anyone known why does it choose plan from * OR-plan.txt* instead of *union-plan.txt*? The first is cost=4588.13..960900482668.95, the latter is cost=266348.42..272953.14 according to statistics postgres have, so I suppose planner would select it if it could evaluate it.