On Thu, Jun 23, 2022 at 12:01 AM Tom Lane <t...@sss.pgh.pa.us> wrote:
> Robert Haas <robertmh...@gmail.com> writes: > > On Jun 2, 2009, at 9:41 AM, Simon Riggs <si...@2ndquadrant.com> wrote: > >> You're right that the number of significant digits already exceeds the > >> true accuracy of the computation. I think what Robert wants to see is > >> the exact value used in the calc, so the estimates can be checked more > >> thoroughly than is currently possible. > > > Bingo. > > Uh, the planner's estimate *is* an integer. What was under discussion > (I thought) was showing some fractional digits in the case where EXPLAIN > ANALYZE is outputting a measured row count that is an average over > multiple loops, and therefore isn't necessarily an integer. In that > case the measured value can be considered arbitrarily precise --- though > I think in practice one or two fractional digits would be plenty. > > regards, tom lane > > > Hi, I was looking at the TODO list and found that the issue requires a quick fix. Attached is a patch which shows output like this. It shows the fraction digits in case of loops > 1 postgres=# explain analyze select * from foo; QUERY PLAN -------------------------------------------------------------------------------------------------------------- Seq Scan on foo (cost=0.00..64414.79 rows=2326379 width=8) (actual time=0.025..277.096 rows=2344671 loops=1 Planning Time: 0.516 ms Execution Time: 356.993 ms (3 rows) postgres=# explain analyze select * from foo where b = (select c from bar where c = 1); QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------- Seq Scan on foo (cost=8094.37..78325.11 rows=2326379 width=8) (actual time=72.352..519.159 rows=2344671 loops=1 Filter: (b = $1) InitPlan 1 (returns $1) -> Gather (cost=1000.00..8094.37 rows=1 width=4) (actual time=0.872..72.434 rows=1 loops=1 Workers Planned: 2 Workers Launched: 2 -> Parallel Seq Scan on bar (cost=0.00..7094.27 rows=1 width=4) (actual time=41.931..65.382 rows=0.33 loops=3) Filter: (c = 1) Rows Removed by Filter: 245457 Planning Time: 0.277 ms Execution Time: 597.795 ms (11 rows) -- Ibrar Ahmed
explain_float_row.patch
Description: Binary data