| From: | David Kamholz <lautgesetz(at)gmail(dot)com> |
|---|---|
| To: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: query execution time faster with geqo on than off: bug? |
| Date: | 2015-06-16 02:56:51 |
| Message-ID: | CAKuxgJ47XePa2zRt40e2yVpfPYEgx1eFh=g7QEJwh7cgkfkFtg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
>
> Well, for starters you're looking at an estimation miss. The
> exhaustive search found the 'cheaper' plan than what geqo came up
> with, but that did not correlate to execution time. This is a common
> and frustrating problem. Generally to try and avoid it it's good to
> avoid things in tables and queries that the database has difficulty
> planning or to crank statistics in specific cases.
>
RhodiumToad on #postgresql thinks it may be a different issue -- namely,
the fact that there are various estimates of rows=1 when the actual number
is higher. Increasing default_statistics_target to 1000 and 10000 seems to
confirm this -- if anything, the query runs slower, and the plans look to
be about the same. So I'm not convinced yet that it's not a bug. The better
performance with geqo on is pretty consistent. I recognize that the query
is complex, and I can try to simplify it, but it would be nice if its
performance were not a matter of luck.
I've attached a file containing the original query and the EXPLAIN ANALYZE
results for geqo on and default_statistics_target 100, geqo off and
default_statistics_target 100, geqo on and default_statistics_target 10000,
and geqo off and default_statistics_target 10000, showing that the
increased statistics target doesn't help. (I figured it would be easier to
read as an attachment because my email client automatically wraps long
lines.)
Dave
| Attachment | Content-Type | Size |
|---|---|---|
| geqo_explain_analyze.txt | text/plain | 28.1 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Xiaoyulei | 2015-06-16 03:08:36 | does tuple store subtransaction id in it? |
| Previous Message | Jim Nasby | 2015-06-16 02:47:49 | Re: pg_stat_*_columns? |