Re: Different plan for very similar queries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 05/31/15 18:22, Tom Lane wrote:
Tomas Vondra <tomas.vondra@xxxxxxxxxxxxxxx> writes:
On 05/31/15 13:00, Peter J. Holzer wrote:
(There was no analyze on facttable_stat_fta4 (automatic or manual) on
facttable_stat_fta4 between those two tests, so the statistics on
facttable_stat_fta4 shouldn't have changed - only those for term.)

So maybe there was autoanalyze, because otherwise it really should be
the same in both plans ...

No, because that's the inside of a nestloop with significantly different
outer-side rowcount estimates.  The first case gets a benefit from the
expectation that it will be re-executed many times (see the impact of
loop_count on cost_index).

Meh, I got confused by the plan a bit - I thought there's a problem in the outer path (e.g. change of row count). But actually this is the path scanning the 'term' table, so the change is expected there.

The fact that the index scan cost 'suddenly' grows from 386k to 2M is confusing at first, but yeah - it's caused by the 'averaging' in cost_index() depending on loop_count.

But I think this does not really change the problem with eliminating inner paths solely on the basis of total cost - in fact it probably makes it slightly worse, because the cost also depends on estimates in the outer path (while the bitmapscan does not).


--
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance




[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux