Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tkm8x-006i9P-KD for pgsql-hackers@arkaria.postgresql.org; Wed, 19 Feb 2025 15:37:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tkm8w-009wwR-0H for pgsql-hackers@arkaria.postgresql.org; Wed, 19 Feb 2025 15:37:46 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tkm8v-009wwI-MU for pgsql-hackers@lists.postgresql.org; Wed, 19 Feb 2025 15:37:45 +0000 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tkm8t-001mib-2g for pgsql-hackers@lists.postgresql.org; Wed, 19 Feb 2025 15:37:45 +0000 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4394036c0efso43514055e9.2 for ; Wed, 19 Feb 2025 07:37:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739979463; x=1740584263; darn=lists.postgresql.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=/8wIH3GNgyMNzrca05CuCIM57JJTO2SvJ6m+Y1x/Tps=; b=dN1feG02uSe9RkYGIKsOBdPp8f6c2a66AWVdiwT28pC/uWjjAlvRDQdlIXD2TwQXct znzkCC1wR1aiZ+TvqEqoZKD2TpIVQ66C1GlM/HJK20YVzE3lAjb7Al1rCKGIRJYnJuot SUNLO32vHV2FpkoYVABU0jCwd6CdU3darLniTXMn26Lo9Phy6jQ1bsu/tgZM1VGCZbme sLKpe3KUoj79CQ3se/fNkmyZTpQZadb5n+raBEAUwyr43FCc0w3F3PADMOhmHuNCdXj6 cfPD4wZgGuhqYF+o0u89pkU/lV2BZdKR800JDV5ww2RzKp0kAKkpAJ5CWgm6qT6uIQbp 8ZNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739979463; x=1740584263; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/8wIH3GNgyMNzrca05CuCIM57JJTO2SvJ6m+Y1x/Tps=; b=wrCnaMzhY2BbxtMH3jORoVqAvLr+86/jCBVjoGeJABFZbDCwZL2fvp+xs/D47KrnEt V7kLpXiWZxedceBbOBvqUl2TgqdrsFGNw5h4FKYvL9oDJHI7Z3nU7tIPfvJ+JopHAB8d Rx4/34YQ3BcXBCVl1ipbjI/pO5BULJPlmqisKSKyfy56xWYfbOwWHUCWU1NoxOUQ8Q1z vDopiOh0G/xBGhxZrUbYkVec2Q1UwESVc6NUvb/BBzw0O6lphSFZdjBl10lC/rxoUa3i BUyW493TG/4fo3t3AuamApSc1kodEtgKS8eVWOpNe9SRRxuomOgyxbKMZf3d6Pu7Q6xM Y3nw== X-Gm-Message-State: AOJu0YxCFNyTdxQNOpE+YVDTd45ogvxq4uorT+AO8zySnkO3J0/epo6/ b6okzD69EyNWqSpztSgyKDSStDw9Q+ljNayOUjEvUNZWz3Dttl+F X-Gm-Gg: ASbGncs+/GFgmLlK7+7fgiZEijIaUdSY9yGLtD1iue407VUUAqlM1IW7+AAPC4IYP59 1R4TBHGeVqbttq2erSS1ULhIv2kckF2oaN85LS2G9fUiEyqFGWRjad++adLmwCEIdHI7fUoZhpF aS1XSZFn22ChIPYVmviSZmQztrNHHiHDbYf8vkjPrOjdG3xV31mzbDJqpxqXKTXwSw9XlOeQN+5 O0I/AlA8fDWoy7hATi8ycxOE59Et3kfddSnsudzPrRXtY+CVIXYDKSLO/rbi+/MbvE3UmivCyux oow6uPRQf6OL68KHajBUvdo9QEIsfA== X-Google-Smtp-Source: AGHT+IFv6WIUc60j9Pf5vx5o2u39ueX8fj3GgPYyLGnuGZGqP7rD8LDfY676B78+isZSLZgWG2QwZQ== X-Received: by 2002:a05:600c:1c21:b0:439:98ca:e3a4 with SMTP id 5b1f17b1804b1-43999dd21a4mr29827495e9.19.1739979462488; Wed, 19 Feb 2025 07:37:42 -0800 (PST) Received: from [172.20.10.2] ([31.4.241.162]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-439922141a5sm61306665e9.2.2025.02.19.07.37.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Feb 2025 07:37:42 -0800 (PST) Message-ID: Date: Wed, 19 Feb 2025 16:37:40 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: explain analyze rows=%.0f To: Ilia Evdokimov , Robert Haas Cc: pgsql-hackers@lists.postgresql.org, Tom Lane , Matheus Alcantara , Guillaume Lelarge , Daniel Gustafsson , Ibrar Ahmed , "Gregory Stark (as CFM)" , Amit Kapila , Justin Pryzby , Peter Geoghegan , vignesh C , "David G. Johnston" , Alena Rybakina References: <3212947.1739306803@sss.pgh.pa.us> <3365160.1739385615@sss.pgh.pa.us> <0e4c813a-18eb-41e2-8edb-89b78d43c82d@gmail.com> <01ec86c1-e04b-4cbe-b641-22cae8b87604@tantorlabs.com> <73e2440e-7d8b-4860-974d-931a93326d95@gmail.com> <7ab512ac-eed1-4fc8-9c5f-b42c0b0d313e@tantorlabs.com> Content-Language: en-US From: Andrei Lepikhov In-Reply-To: <7ab512ac-eed1-4fc8-9c5f-b42c0b0d313e@tantorlabs.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 19/2/2025 15:01, Ilia Evdokimov wrote: > If we want to convey this information more clearly, we should consider a > more explicit approach. For example, instead of using a fractional > value, we could display the minimum and maximum row counts observed > during execution (e.g.,rows=10..20, formatting details could be > discussed). However, in my opinion, this discussion is beyond the scope > of this thread. I think this approach is redundant. Usually, a problem is an unknown number of tuples because, having millions of loops, we produce a small number of tuples, but each tuple costs a lot because of a subplan or something like that. By printing fractional digits (of course, we need to view significant ones, but we already agreed on a couple of digits for now), we may resolve this corner-case problem fully - at least all examples in my experience would be resolved, and I have even maintained a patch for years to manage this. Moreover, it is too simple to implement. I just can't imagine why not to do it right now. -- regards, Andrei Lepikhov