GEQO randomness?

From: Eric Schwarzenbach <Eric(dot)J(dot)Schwarzenbach(dot)C88(at)alumni(dot)upenn(dot)edu>
To: pgsql-general(at)postgresql(dot)org
Subject: GEQO randomness?
Date: 2008-10-31 20:49:08
Message-ID: 490B6F44.5070701@alumni.upenn.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

This is in a sense a followup to my post with subject "Wildly erratic
query performance". The more I think about it the only thing that makes
sense of my results is if the query planner really WAS choosing my join
order truly randomly each time. I went digging into the manual and
Section 49.3.1. "Generating Possible Plans with GEQO" says

"In the initial stage, the GEQO code simply generates some possible join
sequences at random."

Now ordinarily I would interpret this use of the word random loosely, to
mean "arbitrarily" or using some non-meaningful selection criteria. But
given what I am seeing, this leads me to consider that "random" is meant
literally, and that it uses a random number generate to pick paths. Can
someone confirm that this is the case?

Is this really a good idea? Is non-deterministic behavior really
acceptable? I would think it would be much more sensible to have it
operate deterministically (such as with some predetermined random
sequence of numbers used repeatedly).

Eric

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Aidan Van Dyk 2008-10-31 21:02:11 Re: Decreasing WAL size effects
Previous Message Eric Schwarzenbach 2008-10-31 20:36:02 Re: Wildly erratic query performance