here at openforce we have played around with reordering the individual queries and have noticed significant improvement in performance. we didn't commit this because we noticed differences in the oracle and postgresql versions of the function and i didn't
have time to try to figure out which one was correct.
the ordering we chose was direct (very fast), then public, then the rest.