[fix](mtmv) Add debug log decide for performance when query rewrite by materialized view (#39914) (#39952)
## Proposed changes In method `AbstractMaterializedViewRule#isMaterializationValid` Should add `LOG.isDebugEnabled()` before print debug log. Because `Plan#treeString` in debug log is performance consume. ## Proposed changes pr: https://github.com/apache/doris/pull/39914 commitId: 45ddb8ce
This commit is contained in:
@ -831,10 +831,12 @@ public abstract class AbstractMaterializedViewRule implements ExplorationRuleFac
|
||||
"View struct info is invalid", () -> String.format("view plan is %s",
|
||||
context.getStructInfo().getOriginalPlan().treeString()));
|
||||
// tmp to location question
|
||||
LOG.debug(String.format("View struct info is invalid, mv identifier is %s, query plan is %s,"
|
||||
+ "view plan is %s",
|
||||
context.generateMaterializationIdentifier(), queryPlan.treeString(),
|
||||
context.getStructInfo().getTopPlan().treeString()));
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug(String.format("View struct info is invalid, mv identifier is %s, query plan is %s,"
|
||||
+ "view plan is %s",
|
||||
context.generateMaterializationIdentifier(), queryPlan.treeString(),
|
||||
context.getStructInfo().getTopPlan().treeString()));
|
||||
}
|
||||
cascadesContext.getMemo().recordMaterializationCheckResult(this.getClass(), materializationId,
|
||||
false);
|
||||
return false;
|
||||
@ -846,20 +848,24 @@ public abstract class AbstractMaterializedViewRule implements ExplorationRuleFac
|
||||
context.recordFailReason(context.getStructInfo(),
|
||||
"View struct info is invalid", () -> String.format("view plan is %s",
|
||||
context.getStructInfo().getOriginalPlan().treeString()));
|
||||
LOG.debug(String.format("View struct info is invalid, mv identifier is %s, query plan is %s,"
|
||||
+ "view plan is %s",
|
||||
context.generateMaterializationIdentifier(), queryPlan.treeString(),
|
||||
context.getStructInfo().getTopPlan().treeString()));
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug(String.format("View struct info is invalid, mv identifier is %s, query plan is %s,"
|
||||
+ "view plan is %s",
|
||||
context.generateMaterializationIdentifier(), queryPlan.treeString(),
|
||||
context.getStructInfo().getTopPlan().treeString()));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (!context.getStructInfo().isValid()) {
|
||||
context.recordFailReason(context.getStructInfo(),
|
||||
"View original struct info is invalid", () -> String.format("view plan is %s",
|
||||
context.getStructInfo().getOriginalPlan().treeString()));
|
||||
LOG.debug(String.format("View struct info is invalid, mv identifier is %s, query plan is %s,"
|
||||
+ "view plan is %s",
|
||||
context.generateMaterializationIdentifier(), queryPlan.treeString(),
|
||||
context.getStructInfo().getTopPlan().treeString()));
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug(String.format("View struct info is invalid, mv identifier is %s, query plan is %s,"
|
||||
+ "view plan is %s",
|
||||
context.generateMaterializationIdentifier(), queryPlan.treeString(),
|
||||
context.getStructInfo().getTopPlan().treeString()));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user