Package io.trino.sql.planner
Class OptimizerConfig
java.lang.Object
io.trino.sql.planner.OptimizerConfig
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumstatic enumstatic enum -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlongdoubledouble@javax.validation.constraints.Min(0L),@javax.validation.constraints.Max(1L) doubleio.airlift.units.Duration@NotNull io.airlift.units.DataSize@javax.validation.constraints.Min(0L),@javax.validation.constraints.Max(1L) double@javax.validation.constraints.Min(0L) long@javax.validation.constraints.Min(2L) intdouble@javax.validation.constraints.Min(0L) long@NotNull io.airlift.units.DataSizedouble@javax.validation.constraints.Min(1L) int@javax.validation.constraints.Min(0L) doublebooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanDeprecated.booleanbooleansetAdaptivePartialAggregationEnabled(boolean adaptivePartialAggregationEnabled) setAdaptivePartialAggregationMinRows(long adaptivePartialAggregationMinRows) setAdaptivePartialAggregationUniqueRowsRatioThreshold(double adaptivePartialAggregationUniqueRowsRatioThreshold) setCollectPlanStatisticsForAllQueries(boolean collectPlanStatisticsForAllQueries) setColocatedJoinsEnabled(boolean colocatedJoinsEnabled) setComplexExpressionPushdownEnabled(boolean complexExpressionPushdownEnabled) setCpuCostWeight(double cpuCostWeight) setDefaultFilterFactorEnabled(boolean defaultFilterFactorEnabled) setDictionaryAggregation(boolean dictionaryAggregation) setDistributedSortEnabled(boolean enabled) setEnableForcedExchangeBelowGroupId(boolean enableForcedExchangeBelowGroupId) setEnableIntermediateAggregations(boolean enableIntermediateAggregations) setEnableStatsCalculator(boolean enableStatsCalculator) setFilterConjunctionIndependenceFactor(double filterConjunctionIndependenceFactor) setForceSingleNodeOutput(boolean value) setIgnoreDownstreamPreferences(boolean ignoreDownstreamPreferences) setIgnoreStatsCalculatorFailures(boolean ignoreStatsCalculatorFailures) setIterativeOptimizerTimeout(io.airlift.units.Duration timeout) setJoinDistributionType(OptimizerConfig.JoinDistributionType joinDistributionType) setJoinMaxBroadcastTableSize(io.airlift.units.DataSize joinMaxBroadcastTableSize) setJoinMultiClauseIndependenceFactor(double joinMultiClauseIndependenceFactor) setJoinPartitionedBuildMinRowCount(long joinPartitionedBuildMinRowCount) setJoinReorderingStrategy(OptimizerConfig.JoinReorderingStrategy joinReorderingStrategy) setMarkDistinctStrategy(OptimizerConfig.MarkDistinctStrategy markDistinctStrategy) setMaxReorderedJoins(int maxReorderedJoins) setMemoryCostWeight(double memoryCostWeight) setMergeProjectWithValues(boolean mergeProjectWithValues) setMinInputRowsPerTask(long minInputRowsPerTask) setMinInputSizePerTask(io.airlift.units.DataSize minInputSizePerTask) setNetworkCostWeight(double networkCostWeight) setNonEstimatablePredicateApproximationEnabled(boolean nonEstimatablePredicateApproximationEnabled) setOptimizeDuplicateInsensitiveJoins(boolean optimizeDuplicateInsensitiveJoins) setOptimizeHashGeneration(boolean optimizeHashGeneration) setOptimizeMetadataQueries(boolean optimizeMetadataQueries) setOptimizeMixedDistinctAggregations(boolean value) setOptimizeTopNRanking(boolean optimizeTopNRanking) setPreAggregateCaseAggregationsEnabled(boolean preAggregateCaseAggregationsEnabled) setPredicatePushdownUseTableProperties(boolean predicatePushdownUseTableProperties) setPreferPartialAggregation(boolean value) setPreferredWritePartitioningMinNumberOfPartitions(int preferredWritePartitioningMinNumberOfPartitions) setPushAggregationThroughOuterJoin(boolean pushAggregationThroughOuterJoin) setPushPartialAggregationThoughJoin(boolean pushPartialAggregationThoughJoin) setPushTableWriteThroughUnion(boolean pushTableWriteThroughUnion) setRewriteFilteringSemiJoinToInnerJoin(boolean rewriteFilteringSemiJoinToInnerJoin) setSkipRedundantSort(boolean value) setSpatialJoinsEnabled(boolean spatialJoinsEnabled) setStatisticsPrecalculationForPushdownEnabled(boolean statisticsPrecalculationForPushdownEnabled) setTableScanNodePartitioningMinBucketToTaskRatio(double tableScanNodePartitioningMinBucketToTaskRatio) setUseExactPartitioning(boolean useExactPartitioning) setUseLegacyWindowFilterPushdown(boolean useLegacyWindowFilterPushdown) setUseMarkDistinct(Boolean value) Deprecated.setUsePreferredWritePartitioning(boolean usePreferredWritePartitioning) setUseTableScanNodePartitioning(boolean useTableScanNodePartitioning)
-
Constructor Details
-
OptimizerConfig
public OptimizerConfig()
-
-
Method Details
-
getCpuCostWeight
public double getCpuCostWeight() -
setCpuCostWeight
-
getMemoryCostWeight
public double getMemoryCostWeight() -
setMemoryCostWeight
-
getNetworkCostWeight
public double getNetworkCostWeight() -
setNetworkCostWeight
@Config("network-cost-weight") public OptimizerConfig setNetworkCostWeight(double networkCostWeight) -
getJoinDistributionType
-
setJoinDistributionType
@Config("join-distribution-type") public OptimizerConfig setJoinDistributionType(OptimizerConfig.JoinDistributionType joinDistributionType) -
getJoinMaxBroadcastTableSize
@NotNull public @NotNull io.airlift.units.DataSize getJoinMaxBroadcastTableSize() -
setJoinMaxBroadcastTableSize
@Config("join-max-broadcast-table-size") public OptimizerConfig setJoinMaxBroadcastTableSize(io.airlift.units.DataSize joinMaxBroadcastTableSize) -
getJoinMultiClauseIndependenceFactor
@Min(0L) @Max(1L) public @javax.validation.constraints.Min(0L),@javax.validation.constraints.Max(1L) double getJoinMultiClauseIndependenceFactor() -
setJoinMultiClauseIndependenceFactor
@Config("optimizer.join-multi-clause-independence-factor") public OptimizerConfig setJoinMultiClauseIndependenceFactor(double joinMultiClauseIndependenceFactor) -
getJoinReorderingStrategy
-
setJoinReorderingStrategy
@Config("optimizer.join-reordering-strategy") public OptimizerConfig setJoinReorderingStrategy(OptimizerConfig.JoinReorderingStrategy joinReorderingStrategy) -
getMaxReorderedJoins
@Min(2L) public @javax.validation.constraints.Min(2L) int getMaxReorderedJoins() -
setMaxReorderedJoins
@Config("optimizer.max-reordered-joins") public OptimizerConfig setMaxReorderedJoins(int maxReorderedJoins) -
isEnableStatsCalculator
public boolean isEnableStatsCalculator() -
setEnableStatsCalculator
@Config("enable-stats-calculator") @LegacyConfig("experimental.enable-stats-calculator") public OptimizerConfig setEnableStatsCalculator(boolean enableStatsCalculator) -
isStatisticsPrecalculationForPushdownEnabled
public boolean isStatisticsPrecalculationForPushdownEnabled() -
setStatisticsPrecalculationForPushdownEnabled
@Config("statistics-precalculation-for-pushdown.enabled") public OptimizerConfig setStatisticsPrecalculationForPushdownEnabled(boolean statisticsPrecalculationForPushdownEnabled) -
isCollectPlanStatisticsForAllQueries
public boolean isCollectPlanStatisticsForAllQueries() -
setCollectPlanStatisticsForAllQueries
@Config("collect-plan-statistics-for-all-queries") public OptimizerConfig setCollectPlanStatisticsForAllQueries(boolean collectPlanStatisticsForAllQueries) -
isIgnoreStatsCalculatorFailures
public boolean isIgnoreStatsCalculatorFailures() -
setIgnoreStatsCalculatorFailures
@Config("optimizer.ignore-stats-calculator-failures") public OptimizerConfig setIgnoreStatsCalculatorFailures(boolean ignoreStatsCalculatorFailures) -
isDefaultFilterFactorEnabled
public boolean isDefaultFilterFactorEnabled() -
setDefaultFilterFactorEnabled
@Config("optimizer.default-filter-factor-enabled") public OptimizerConfig setDefaultFilterFactorEnabled(boolean defaultFilterFactorEnabled) -
getFilterConjunctionIndependenceFactor
@Min(0L) @Max(1L) public @javax.validation.constraints.Min(0L),@javax.validation.constraints.Max(1L) double getFilterConjunctionIndependenceFactor() -
setFilterConjunctionIndependenceFactor
@Config("optimizer.filter-conjunction-independence-factor") public OptimizerConfig setFilterConjunctionIndependenceFactor(double filterConjunctionIndependenceFactor) -
isNonEstimatablePredicateApproximationEnabled
public boolean isNonEstimatablePredicateApproximationEnabled() -
setNonEstimatablePredicateApproximationEnabled
@Config("optimizer.non-estimatable-predicate-approximation.enabled") public OptimizerConfig setNonEstimatablePredicateApproximationEnabled(boolean nonEstimatablePredicateApproximationEnabled) -
isColocatedJoinsEnabled
public boolean isColocatedJoinsEnabled() -
setColocatedJoinsEnabled
@Config("colocated-joins-enabled") public OptimizerConfig setColocatedJoinsEnabled(boolean colocatedJoinsEnabled) -
isSpatialJoinsEnabled
public boolean isSpatialJoinsEnabled() -
setSpatialJoinsEnabled
@Config("spatial-joins-enabled") public OptimizerConfig setSpatialJoinsEnabled(boolean spatialJoinsEnabled) -
isDistributedSortEnabled
public boolean isDistributedSortEnabled() -
setDistributedSortEnabled
-
isUsePreferredWritePartitioning
public boolean isUsePreferredWritePartitioning() -
setUsePreferredWritePartitioning
@Config("use-preferred-write-partitioning") public OptimizerConfig setUsePreferredWritePartitioning(boolean usePreferredWritePartitioning) -
getPreferredWritePartitioningMinNumberOfPartitions
@Min(1L) public @javax.validation.constraints.Min(1L) int getPreferredWritePartitioningMinNumberOfPartitions() -
setPreferredWritePartitioningMinNumberOfPartitions
@Config("preferred-write-partitioning-min-number-of-partitions") public OptimizerConfig setPreferredWritePartitioningMinNumberOfPartitions(int preferredWritePartitioningMinNumberOfPartitions) -
getIterativeOptimizerTimeout
public io.airlift.units.Duration getIterativeOptimizerTimeout() -
setIterativeOptimizerTimeout
@Config("iterative-optimizer-timeout") @LegacyConfig("experimental.iterative-optimizer-timeout") public OptimizerConfig setIterativeOptimizerTimeout(io.airlift.units.Duration timeout) -
isOptimizeMixedDistinctAggregations
public boolean isOptimizeMixedDistinctAggregations() -
setOptimizeMixedDistinctAggregations
@Config("optimizer.optimize-mixed-distinct-aggregations") public OptimizerConfig setOptimizeMixedDistinctAggregations(boolean value) -
isEnableIntermediateAggregations
public boolean isEnableIntermediateAggregations() -
setEnableIntermediateAggregations
@Config("optimizer.enable-intermediate-aggregations") public OptimizerConfig setEnableIntermediateAggregations(boolean enableIntermediateAggregations) -
isPushAggregationThroughOuterJoin
public boolean isPushAggregationThroughOuterJoin() -
setPushAggregationThroughOuterJoin
@Config("optimizer.push-aggregation-through-outer-join") @LegacyConfig("optimizer.push-aggregation-through-join") public OptimizerConfig setPushAggregationThroughOuterJoin(boolean pushAggregationThroughOuterJoin) -
isPushPartialAggregationThoughJoin
public boolean isPushPartialAggregationThoughJoin() -
setPushPartialAggregationThoughJoin
@Config("optimizer.push-partial-aggregation-through-join") public OptimizerConfig setPushPartialAggregationThoughJoin(boolean pushPartialAggregationThoughJoin) -
isPreAggregateCaseAggregationsEnabled
public boolean isPreAggregateCaseAggregationsEnabled() -
setPreAggregateCaseAggregationsEnabled
@Config("optimizer.pre-aggregate-case-aggregations.enabled") public OptimizerConfig setPreAggregateCaseAggregationsEnabled(boolean preAggregateCaseAggregationsEnabled) -
isOptimizeMetadataQueries
public boolean isOptimizeMetadataQueries() -
setOptimizeMetadataQueries
@Config("optimizer.optimize-metadata-queries") public OptimizerConfig setOptimizeMetadataQueries(boolean optimizeMetadataQueries) -
isUseMarkDistinct
Deprecated. -
setUseMarkDistinct
@Deprecated @LegacyConfig(value="optimizer.use-mark-distinct", replacedBy="optimizer.mark-distinct-strategy") public OptimizerConfig setUseMarkDistinct(Boolean value) Deprecated. -
getMarkDistinctStrategy
-
setMarkDistinctStrategy
@Config("optimizer.mark-distinct-strategy") public OptimizerConfig setMarkDistinctStrategy(OptimizerConfig.MarkDistinctStrategy markDistinctStrategy) -
isPreferPartialAggregation
public boolean isPreferPartialAggregation() -
setPreferPartialAggregation
@Config("optimizer.prefer-partial-aggregation") public OptimizerConfig setPreferPartialAggregation(boolean value) -
isEnableForcedExchangeBelowGroupId
public boolean isEnableForcedExchangeBelowGroupId() -
setEnableForcedExchangeBelowGroupId
@Config("enable-forced-exchange-below-group-id") public OptimizerConfig setEnableForcedExchangeBelowGroupId(boolean enableForcedExchangeBelowGroupId) -
isOptimizeTopNRanking
public boolean isOptimizeTopNRanking() -
setOptimizeTopNRanking
@Config("optimizer.optimize-top-n-ranking") @LegacyConfig("optimizer.optimize-top-n-row-number") public OptimizerConfig setOptimizeTopNRanking(boolean optimizeTopNRanking) -
isOptimizeHashGeneration
public boolean isOptimizeHashGeneration() -
setOptimizeHashGeneration
@Config("optimizer.optimize-hash-generation") public OptimizerConfig setOptimizeHashGeneration(boolean optimizeHashGeneration) -
isPushTableWriteThroughUnion
public boolean isPushTableWriteThroughUnion() -
setPushTableWriteThroughUnion
@Config("optimizer.push-table-write-through-union") public OptimizerConfig setPushTableWriteThroughUnion(boolean pushTableWriteThroughUnion) -
isDictionaryAggregation
public boolean isDictionaryAggregation() -
setDictionaryAggregation
@Config("optimizer.dictionary-aggregation") public OptimizerConfig setDictionaryAggregation(boolean dictionaryAggregation) -
isSkipRedundantSort
public boolean isSkipRedundantSort() -
setSkipRedundantSort
-
isComplexExpressionPushdownEnabled
public boolean isComplexExpressionPushdownEnabled() -
setComplexExpressionPushdownEnabled
@Config("optimizer.complex-expression-pushdown.enabled") public OptimizerConfig setComplexExpressionPushdownEnabled(boolean complexExpressionPushdownEnabled) -
isPredicatePushdownUseTableProperties
public boolean isPredicatePushdownUseTableProperties() -
setPredicatePushdownUseTableProperties
@Config("optimizer.predicate-pushdown-use-table-properties") public OptimizerConfig setPredicatePushdownUseTableProperties(boolean predicatePushdownUseTableProperties) -
isIgnoreDownstreamPreferences
public boolean isIgnoreDownstreamPreferences() -
setIgnoreDownstreamPreferences
@Config("optimizer.ignore-downstream-preferences") public OptimizerConfig setIgnoreDownstreamPreferences(boolean ignoreDownstreamPreferences) -
isRewriteFilteringSemiJoinToInnerJoin
public boolean isRewriteFilteringSemiJoinToInnerJoin() -
setRewriteFilteringSemiJoinToInnerJoin
@Config("optimizer.rewrite-filtering-semi-join-to-inner-join") public OptimizerConfig setRewriteFilteringSemiJoinToInnerJoin(boolean rewriteFilteringSemiJoinToInnerJoin) -
isOptimizeDuplicateInsensitiveJoins
public boolean isOptimizeDuplicateInsensitiveJoins() -
setOptimizeDuplicateInsensitiveJoins
@Config("optimizer.optimize-duplicate-insensitive-joins") public OptimizerConfig setOptimizeDuplicateInsensitiveJoins(boolean optimizeDuplicateInsensitiveJoins) -
isUseLegacyWindowFilterPushdown
public boolean isUseLegacyWindowFilterPushdown() -
setUseLegacyWindowFilterPushdown
@Config("optimizer.use-legacy-window-filter-pushdown") public OptimizerConfig setUseLegacyWindowFilterPushdown(boolean useLegacyWindowFilterPushdown) -
isUseTableScanNodePartitioning
public boolean isUseTableScanNodePartitioning() -
setUseTableScanNodePartitioning
@Config("optimizer.use-table-scan-node-partitioning") @LegacyConfig("optimizer.plan-with-table-node-partitioning") public OptimizerConfig setUseTableScanNodePartitioning(boolean useTableScanNodePartitioning) -
getTableScanNodePartitioningMinBucketToTaskRatio
@Min(0L) public @javax.validation.constraints.Min(0L) double getTableScanNodePartitioningMinBucketToTaskRatio() -
setTableScanNodePartitioningMinBucketToTaskRatio
@Config("optimizer.table-scan-node-partitioning-min-bucket-to-task-ratio") public OptimizerConfig setTableScanNodePartitioningMinBucketToTaskRatio(double tableScanNodePartitioningMinBucketToTaskRatio) -
isMergeProjectWithValues
public boolean isMergeProjectWithValues() -
setMergeProjectWithValues
@Config("optimizer.merge-project-with-values") public OptimizerConfig setMergeProjectWithValues(boolean mergeProjectWithValues) -
isForceSingleNodeOutput
public boolean isForceSingleNodeOutput() -
setForceSingleNodeOutput
@Config("optimizer.force-single-node-output") public OptimizerConfig setForceSingleNodeOutput(boolean value) -
isAdaptivePartialAggregationEnabled
public boolean isAdaptivePartialAggregationEnabled() -
setAdaptivePartialAggregationEnabled
@Config("adaptive-partial-aggregation.enabled") public OptimizerConfig setAdaptivePartialAggregationEnabled(boolean adaptivePartialAggregationEnabled) -
getAdaptivePartialAggregationMinRows
public long getAdaptivePartialAggregationMinRows() -
setAdaptivePartialAggregationMinRows
@Config("adaptive-partial-aggregation.min-rows") public OptimizerConfig setAdaptivePartialAggregationMinRows(long adaptivePartialAggregationMinRows) -
getAdaptivePartialAggregationUniqueRowsRatioThreshold
public double getAdaptivePartialAggregationUniqueRowsRatioThreshold() -
setAdaptivePartialAggregationUniqueRowsRatioThreshold
@Config("adaptive-partial-aggregation.unique-rows-ratio-threshold") public OptimizerConfig setAdaptivePartialAggregationUniqueRowsRatioThreshold(double adaptivePartialAggregationUniqueRowsRatioThreshold) -
getJoinPartitionedBuildMinRowCount
@Min(0L) public @javax.validation.constraints.Min(0L) long getJoinPartitionedBuildMinRowCount() -
setJoinPartitionedBuildMinRowCount
@Config("optimizer.join-partitioned-build-min-row-count") public OptimizerConfig setJoinPartitionedBuildMinRowCount(long joinPartitionedBuildMinRowCount) -
getMinInputSizePerTask
@NotNull public @NotNull io.airlift.units.DataSize getMinInputSizePerTask() -
setMinInputSizePerTask
@Config("optimizer.min-input-size-per-task") public OptimizerConfig setMinInputSizePerTask(io.airlift.units.DataSize minInputSizePerTask) -
getMinInputRowsPerTask
@Min(0L) public @javax.validation.constraints.Min(0L) long getMinInputRowsPerTask() -
setMinInputRowsPerTask
@Config("optimizer.min-input-rows-per-task") public OptimizerConfig setMinInputRowsPerTask(long minInputRowsPerTask) -
isUseExactPartitioning
public boolean isUseExactPartitioning() -
setUseExactPartitioning
@Config("optimizer.use-exact-partitioning") public OptimizerConfig setUseExactPartitioning(boolean useExactPartitioning)
-