This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new dbf122c25d5 [revert](statistics)Still use sample analyze sql when
sample full table. (#50144)
dbf122c25d5 is described below
commit dbf122c25d51093d70767828e24b8058548e4cbd
Author: James <[email protected]>
AuthorDate: Fri Apr 18 10:00:16 2025 +0800
[revert](statistics)Still use sample analyze sql when sample full table.
(#50144)
Still use sample analyze sql when sample full table.
---
.../main/java/org/apache/doris/statistics/OlapAnalysisTask.java | 6 +-----
.../java/org/apache/doris/statistics/OlapAnalysisTaskTest.java | 8 ++------
2 files changed, 3 insertions(+), 11 deletions(-)
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 5cee3db36a8..be441496394 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
@@ -266,11 +266,7 @@ public class OlapAnalysisTask extends BaseAnalysisTask {
// If table row count is less than the target sample row count, simple
scan the full table.
if (tableRowCount <= targetSampleRows) {
- params.put("scaleFactor", "1");
- params.put("sampleHints", "");
- params.put("ndvFunction", "ROUND(NDV(`${colName}`) *
${scaleFactor})");
scanFullTable = true;
- return;
}
Pair<List<Long>, Long> sampleTabletsInfo = getSampleTablets();
String tabletStr = sampleTabletsInfo.first.stream()
@@ -514,7 +510,7 @@ public class OlapAnalysisTask extends BaseAnalysisTask {
* @return True for single unique key column and single distribution
column.
*/
protected boolean useLinearAnalyzeTemplate() {
- if (partitionColumnSampleTooManyRows || scanFullTable) {
+ if (partitionColumnSampleTooManyRows) {
return true;
}
if (isSingleUniqueKey()) {
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 1404855f092..e79fbd04921 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
@@ -303,10 +303,6 @@ public class OlapAnalysisTaskTest {
task.setPartitionColumnSampleTooManyRows(true);
Assertions.assertTrue(task.useLinearAnalyzeTemplate());
- task.setPartitionColumnSampleTooManyRows(false);
- task.setScanFullTable(true);
- Assertions.assertTrue(task.useLinearAnalyzeTemplate());
-
task.setScanFullTable(false);
task.setPartitionColumnSampleTooManyRows(false);
new MockUp<OlapAnalysisTask>() {
@@ -349,9 +345,9 @@ public class OlapAnalysisTaskTest {
task.col = new Column("test", PrimitiveType.INT);
task.getSampleParams(params, 10);
Assertions.assertTrue(task.scanFullTable());
- Assertions.assertEquals("1", params.get("scaleFactor"));
+ Assertions.assertEquals("1.0", params.get("scaleFactor"));
Assertions.assertEquals("", params.get("sampleHints"));
- Assertions.assertEquals("ROUND(NDV(`${colName}`) * ${scaleFactor})",
params.get("ndvFunction"));
+ Assertions.assertEquals("SUM(`t1`.`count`) * COUNT(1) /
(SUM(`t1`.`count`) - SUM(IF(`t1`.`count` = 1, 1, 0)) + SUM(IF(`t1`.`count` = 1,
1, 0)) * SUM(`t1`.`count`) / 10)", params.get("ndvFunction"));
params.clear();
task = new OlapAnalysisTask();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]