Currently, the planner keeps paths that appear to win on the grounds of
either cheapest startup cost or cheapest total cost. It suddenly struck
me that in many simple cases (viz, those with no LIMIT, EXISTS, cursor
fast-start preference, etc) we could know a-priori that cheapest startup
cost is not going to be interesting, and hence immediately discard any
path that doesn't win on total cost.
This would require some additional logic to detect whether the case
applies, as well as extra complexity in add_path. So it's possible
that it wouldn't be worthwhile overall. Still, it seems like it might
be a useful idea to investigate.
Thoughts?
regards, tom lane