David Rowley <dgrowleyml(at)gmail(dot)com> writes:
> ... nested at the bottom level join, about 6 joins deep. The lack of
> any row being found results in upper level joins not having to do
> anything, and the majority of the plan is (never executed).
On re-reading this, that last point struck me forcibly. If most of
the plan never gets executed, could we avoid compiling it? That is,
maybe JIT isn't JIT enough, and we should make compilation happen
at first use of an expression not during executor startup.
regards, tom lane