You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2025/11/21 15:54:01 UTC
(doris) branch branch-4.0 updated: branch-4.0: [opt](staticstis) use count(1) for rowCount when scan full table #58153 (#58190)
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.0 by this push:
new 97315a8b8d0 branch-4.0: [opt](staticstis) use count(1) for rowCount when scan full table #58153 (#58190)
97315a8b8d0 is described below
commit 97315a8b8d00f9e5ac0ac38e6093f8e86bbe2423
Author: github-actions[bot] <41...@users.noreply.github.com>
AuthorDate: Fri Nov 21 23:53:55 2025 +0800
branch-4.0: [opt](staticstis) use count(1) for rowCount when scan full table #58153 (#58190)
Cherry-picked from #58153
Co-authored-by: yujun <yu...@selectdb.com>
---
.../src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java | 2 ++
.../test/java/org/apache/doris/statistics/OlapAnalysisTaskTest.java | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java
index 6d3b5a3a40e..2f73ae87382 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java
@@ -271,6 +271,8 @@ public class OlapAnalysisTask extends BaseAnalysisTask {
params.put("scaleFactor", "1");
params.put("sampleHints", "");
params.put("ndvFunction", "ROUND(NDV(`${colName}`) * ${scaleFactor})");
+ // For full table scan, use COUNT(1) for table row count.
+ params.put("rowCount", "COUNT(1)");
params.put("rowCount2", "(SELECT COUNT(1) FROM cte1 WHERE `${colName}` IS NOT NULL)");
scanFullTable = true;
return;
diff --git a/fe/fe-core/src/test/java/org/apache/doris/statistics/OlapAnalysisTaskTest.java b/fe/fe-core/src/test/java/org/apache/doris/statistics/OlapAnalysisTaskTest.java
index c8f9b397479..fa1879db5f3 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/statistics/OlapAnalysisTaskTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/statistics/OlapAnalysisTaskTest.java
@@ -375,6 +375,11 @@ public class OlapAnalysisTaskTest {
Assertions.assertEquals("", params.get("sampleHints"));
Assertions.assertEquals("ROUND(NDV(`${colName}`) * ${scaleFactor})", params.get("ndvFunction"));
Assertions.assertNull(params.get("preAggHint"));
+ Assertions.assertEquals("COUNT(1)", params.get("rowCount"));
+ params.clear();
+
+ task.getSampleParams(params, 10000);
+ Assertions.assertEquals("10000", params.get("rowCount"));
params.clear();
new MockUp<OlapTable>() {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org