Thread
-
Re: explain analyze rows=%.0f
Ilia Evdokimov <ilya.evdokimov@tantorlabs.com> — 2025-03-31T20:59:48Z
On 31.03.2025 22:09, Robert Haas wrote: > Oh, right. I've never really understood why we round off to integers, > but the fact that we don't allow row counts < 1 feels like something > pretty important. My intuition is that it probably helps a lot more > than it hurts, too. We definitely shouldn’t remove the row counts < 1 check, since there are many places in the planner where we divide by rows. This mechanism was added specifically to prevent division by zero. Also, allowing rows estimates below 1 can sometimes make the planner overly optimistic, leading it to prefer cheaper-looking plans that may not perform well in practice. For example, choosing a Nested Loop instead of a more appropriate Hash Join. Allowing fractional rows > 1 might help improve planner accuracy in some cases, but this needs further study to fully understand the impact. -- Best regards, Ilia Evdokimov, Tantor Labs LLC.