public inbox for [email protected]
help / color / mirror / Atom feedFrom: Robert Haas <[email protected]>
To: Anthonin Bonnefoy <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Add ALL_CANDIDATES option to EXPLAIN
Date: Fri, 26 Jul 2024 13:16:43 -0400
Message-ID: <CA+TgmoYpwd7aidqF_pyeoddz6iUfFSQdy0ZBiH5eWxnvNn7-ig@mail.gmail.com> (raw)
In-Reply-To: <CAO6_Xqoke6qntHS8odYXT_P2Lrj7dNXgsCds+C8zLOXBbNefvg@mail.gmail.com>
References: <CAO6_Xqoke6qntHS8odYXT_P2Lrj7dNXgsCds+C8zLOXBbNefvg@mail.gmail.com>
On Fri, Jul 26, 2024 at 12:59 PM Anthonin Bonnefoy
<[email protected]> wrote:
> I have a prototype for an ALL_CANDIDATES option for EXPLAIN. The goal
> of this option is to print all plan candidates instead of only the
> cheapest plan. It will output the plans from the most expensive at the
> top to the cheapest. Here's an example:
It's difficult for me to understand how this can work. Either it's not
really going to print out all candidates, or it's going to print out
gigabytes of output for moderately complex queries.
I've thought about trying to figure out some way of identifying and
printing out plans that are "interestingly different" from the chosen
plan, with the costs they would have had, but I haven't been able to
come up with a good algorithm. Printing out absolutely everything
doesn't seem viable, because planning would be slow and use amazing
amounts of memory and the output would be so large as to be useless.
--
Robert Haas
EDB: http://www.enterprisedb.com
view thread (5+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: Add ALL_CANDIDATES option to EXPLAIN
In-Reply-To: <CA+TgmoYpwd7aidqF_pyeoddz6iUfFSQdy0ZBiH5eWxnvNn7-ig@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox