I wrote: > Matthew Wakeling <matthew@xxxxxxxxxxx> writes: >> Very clever. Yes, that is what is happening. I'm surprised that the system >> doesn't buffer the inner side to avoid having to rescan each time, but >> then I guess you would have problems if the buffer grew larger than >> memory. > Well, it does consider adding a Materialize node for that purpose, > but in this case it evidently thought a sort was cheaper. Hmmm ... actually, after looking at the code, I notice that we only consider adding a Materialize node to buffer an inner input that is a Sort node. The idea was suggested by Greg Stark, if memory serves. I wonder now if it'd be worthwhile to generalize that to consider adding a Materialize above *any* inner mergejoin input. regards, tom lane -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance