Обсуждение: GEQO randomness?

Поиск
Список
Период
Сортировка

GEQO randomness?

От
Eric Schwarzenbach
Дата:
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



Re: GEQO randomness?

От
Bruce Momjian
Дата:
Eric Schwarzenbach wrote:
> 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?

Yes, "random" means random.

> 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).

Uh, no one has ever asked for that.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +