On Feb 16, 2019, at 9:31 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > > Donald Dong <xd...@csumb.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. regards, Donald Dong