From 3f9d83359c466a9aaa16ec0579f47bcbbc46c2d6 Mon Sep 17 00:00:00 2001 From: seawinde Date: Thu, 2 Jan 2025 16:22:52 +0800 Subject: [PATCH] [opt](mtmv) Add log when compute olap scan cost to locate problem easier (#45948) ### What problem does this PR solve? Some mv test case should be chosen by cbo but not. Add log when compute olap scan cost to locate problem easier --- .../java/org/apache/doris/nereids/stats/StatsCalculator.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java index f549b21621758d..e2909317ba1b94 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java @@ -495,8 +495,12 @@ private Statistics computeOlapScan(OlapScan olapScan) { // mv is selected, return its estimated stats Optional optStats = cascadesContext.getStatementContext() .getStatistics(((Relation) olapScan).getRelationId()); + LOG.info("computeOlapScan optStats isPresent {}, tableRowCount is {}", + optStats.isPresent(), tableRowCount); if (optStats.isPresent()) { double selectedPartitionsRowCount = getSelectedPartitionRowCount(olapScan, tableRowCount); + LOG.info("computeOlapScan optStats is {}, selectedPartitionsRowCount is {}", optStats.get(), + selectedPartitionsRowCount); // if estimated mv rowCount is more than actual row count, fall back to base table stats if (selectedPartitionsRowCount >= optStats.get().getRowCount()) { Statistics derivedStats = optStats.get();