diff --git a/fe/fe-core/src/main/java/com/starrocks/catalog/MaterializedView.java b/fe/fe-core/src/main/java/com/starrocks/catalog/MaterializedView.java index 1ebbe2c830fdbd..b13538866d5450 100644 --- a/fe/fe-core/src/main/java/com/starrocks/catalog/MaterializedView.java +++ b/fe/fe-core/src/main/java/com/starrocks/catalog/MaterializedView.java @@ -794,6 +794,14 @@ public long getLastRefreshTime() { return refreshScheme.getLastRefreshTime(); } + public long getMaxPartitionRowCount() { + long maxRowCount = 0; + for (Map.Entry entry : idToPartition.entrySet()) { + maxRowCount = Math.max(maxRowCount, entry.getValue().getBaseIndex().getRowCount()); + } + return maxRowCount; + } + /** * Check weather this materialized view's staleness is satisfied. * diff --git a/fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MaterializationContext.java b/fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MaterializationContext.java index d1737187123bd3..f8193ea62a4666 100644 --- a/fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MaterializationContext.java +++ b/fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MaterializationContext.java @@ -362,7 +362,7 @@ private static int orderingIntersectTables(MaterializationContext mvContext) { * Prefer small table to large table */ private static long orderingRowCount(MaterializationContext mvContext) { - return mvContext.getMv().getRowCount(); + return mvContext.getMv().getMaxPartitionRowCount(); } @Override