Re: Actual Cost

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: Donald Dong <xdong(at)csumb(dot)edu>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: David Fetter <david(at)fetter(dot)org>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Actual Cost
Date: 2019-02-17 12:11:23
Message-ID: 5fad6ff1-7f6e-d600-6f47-3347cc63d40c@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2/17/19 7:45 AM, Donald Dong wrote:
> On Feb 16, 2019, at 9:31 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>
>> Donald Dong <xdong(at)csumb(dot)edu> writes:
>>> On Feb 16, 2019, at 6:44 PM, Tomas Vondra wrote:
>>>> I don't quite understand what is meant by "actual cost metric" and/or
>>>> how is that different from running EXPLAIN ANALYZE.
>>
>>> Here is an example:
>>
>>> Hash Join (cost=3.92..18545.70 rows=34 width=32) (actual cost=3.92..18500 time=209.820..1168.831 rows=47 loops=3)
>>
>>> Now we have the actual time. Time can have a high variance (a change
>>> in system load, or just noises), but I think the actual cost would be
>>> less likely to change due to external factors.
>>
>> I'm with Tomas: you have not explained what you think those
>> numbers mean.
>
> Yeah, I was considering the actual cost to be the output of the cost
> model given the actual rows and pages after we instrument the
> execution: plug in the values which are no longer estimations.
>
> For a hash join, we could use the actual inner_rows_total to get the
> actual cost. For a seqscan, we can use the actual rows to get the
> actual CPU cost.
>

Perhaps I'm just too used to comparing the rows/pages directly, but I
don't quite see the benefit of having such "actual cost". Mostly because
the cost model is rather rough anyway.

regards

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Fabien COELHO 2019-02-17 13:02:48 Re: libpq host/hostaddr/conninfo inconsistencies
Previous Message Andrey Borodin 2019-02-17 10:33:12 Re: [WIP] CREATE SUBSCRIPTION with FOR TABLES clause (table filter)