Documentation of 'org.apache.derby.iapi.sql.compile.OptTrace' Java class
OptTrace
org.apache.derby.iapi.sql.compile

Interface OptTrace

  • All Known Implementing Classes:
    DefaultOptTrace


    public interface OptTrace
    Interface for optimizer tracing.
    • Method Detail

      • traceStartStatement

        void traceStartStatement(java.lang.String statementText)
        Start the start of tracing a statement.
      • traceStartQueryBlock

        void traceStartQueryBlock(long timeOptimizationStarted,
                                  int optimizerID,
                                  OptimizableList optimizableList)
        Start optimizer tracing for a query block.
      • traceEndQueryBlock

        void traceEndQueryBlock()
        End tracing the optimization of a query block.
      • traceTimeout

        void traceTimeout(long currentTime,
                          CostEstimate bestCost)
        Say that the optimizer ran out of time.
      • traceVacuous

        void traceVacuous()
        Say that there's nothing to optimizer.
      • traceCompleteJoinOrder

        void traceCompleteJoinOrder()
        Say that we have a complete join order.
      • traceNoBestPlan

        void traceNoBestPlan()
        Say that we couldn't find a best plan.
      • traceModifyingAccessPaths

        void traceModifyingAccessPaths(int optimizerID)
        Say that we're modifying access paths.
      • traceShortCircuiting

        void traceShortCircuiting(boolean timeExceeded,
                                  Optimizable thisOpt,
                                  int joinPosition)
        Say that we short-circuited a join order.
      • traceSkippingJoinOrder

        void traceSkippingJoinOrder(int nextOptimizable,
                                    int joinPosition,
                                    int[] proposedJoinOrder,
                                    JBitSet assignedTableMap)
        Say that we're skipping the join order starting with the next optimizable.
      • traceIllegalUserJoinOrder

        void traceIllegalUserJoinOrder()
        Say that the user specified an impossible join order.
      • traceUserJoinOrderOptimized

        void traceUserJoinOrderOptimized()
        Say that we have optimized the user-specified join order.
      • traceJoinOrderConsideration

        void traceJoinOrderConsideration(int joinPosition,
                                         int[] proposedJoinOrder,
                                         JBitSet assignedTableMap)
        Say that we're considering a join order.
      • traceCostWithoutSortAvoidance

        void traceCostWithoutSortAvoidance(CostEstimate currentCost)
        Report the cost without a sort.
      • traceCostWithSortAvoidance

        void traceCostWithSortAvoidance(CostEstimate currentSortAvoidanceCost)
        Report the cost with sort avoidance.
      • traceCurrentPlanAvoidsSort

        void traceCurrentPlanAvoidsSort(CostEstimate bestCost,
                                        CostEstimate currentSortAvoidanceCost)
        Say that the current plan avoids a sort.
      • traceCheapestPlanSoFar

        void traceCheapestPlanSoFar(int planType,
                                    CostEstimate currentCost)
        Report the cost of the cheapest plan so far.
      • traceSortNeededForOrdering

        void traceSortNeededForOrdering(int planType,
                                        RequiredRowOrdering requiredRowOrdering)
        Report that this plan needs a sort
      • traceRememberingBestJoinOrder

        void traceRememberingBestJoinOrder(int joinPosition,
                                           int[] bestJoinOrder,
                                           int planType,
                                           CostEstimate planCost,
                                           JBitSet assignedTableMap)
        Say that we are remembering the current plan as the best join order so far.
      • traceSkippingBecauseTooMuchMemory

        void traceSkippingBecauseTooMuchMemory(int maxMemoryPerTable)
        Say that we are skipping a plan because it consumes too much memory.
      • traceCostOfNScans

        void traceCostOfNScans(int tableNumber,
                               double rowCount,
                               CostEstimate cost)
        Report the cost of scanning a table a certain number of times
      • traceSkipUnmaterializableHashJoin

        void traceSkipUnmaterializableHashJoin()
        Say that we won't consider a hash join because the result can't be materialized
      • traceSkipHashJoinNoHashKeys

        void traceSkipHashJoinNoHashKeys()
        Say we won't consider a hash join because there are no hash key columns.
      • traceHashKeyColumns

        void traceHashKeyColumns(int[] hashKeyColumns)
        Report the columns being traced
      • traceOptimizingJoinNode

        void traceOptimizingJoinNode()
        Say that we're starting to optimize a join node
      • traceConsideringJoinStrategy

        void traceConsideringJoinStrategy(JoinStrategy js,
                                          int tableNumber)
        Say that we're considering a particular join strategy on a particular table.
      • traceRememberingBestAccessPath

        void traceRememberingBestAccessPath(AccessPath accessPath,
                                            int tableNumber,
                                            int planType)
        Report that we've found a best access path.
      • traceNoMoreConglomerates

        void traceNoMoreConglomerates(int tableNumber)
        Say that we have exhausted the conglomerate possibilities for a table.
      • traceConsideringConglomerate

        void traceConsideringConglomerate(ConglomerateDescriptor cd,
                                          int tableNumber)
        Report that we are considering a conglomerate for a table.
      • traceScanningHeapWithUniqueKey

        void traceScanningHeapWithUniqueKey()
        Say that we're considering scanning a heap even though we have a unique key match.
      • traceAddingUnorderedOptimizable

        void traceAddingUnorderedOptimizable(int predicateCount)
        Say that we're adding an unordered optimizable.
      • traceChangingAccessPathForTable

        void traceChangingAccessPathForTable(int tableNumber)
        Say that we're considering a different access path for a table.
      • traceNoStartStopPosition

        void traceNoStartStopPosition()
        Say that we're setting the lock mode to MODE_TABLE because there is no start/stop position.
      • traceNonCoveringIndexCost

        void traceNonCoveringIndexCost(double cost,
                                       int tableNumber)
        Say that we're considering a non-covering index.
      • traceConstantStartStopPositions

        void traceConstantStartStopPositions()
        Say that we're setting the lock mode to MODE_RECORD because the start and stop positions are all constant.
      • traceEstimatingCostOfConglomerate

        void traceEstimatingCostOfConglomerate(ConglomerateDescriptor cd,
                                               int tableNumber)
        Report the cost of using a particular conglomerate to scan a table.
      • traceLookingForSpecifiedIndex

        void traceLookingForSpecifiedIndex(java.lang.String indexName,
                                           int tableNumber)
        Say that we're looking for an index specified by optimizer hints.
      • traceSingleMatchedRowCost

        void traceSingleMatchedRowCost(double cost,
                                       int tableNumber)
        Report the cost of a scan which will match exactly one row.
      • traceCostIncludingExtra1stColumnSelectivity

        void traceCostIncludingExtra1stColumnSelectivity(CostEstimate cost,
                                                         int tableNumber)
        Report the cost of a scan given the selectivity of an extra first column.
      • traceNextAccessPath

        void traceNextAccessPath(java.lang.String baseTable,
                                 int predicateCount)
        Report that we are advancing to the next access path for the table.
      • traceCostIncludingExtraStartStop

        void traceCostIncludingExtraStartStop(CostEstimate cost,
                                              int tableNumber)
        Report the cost if we include an extra start/stop.
      • traceCostIncludingExtraQualifierSelectivity

        void traceCostIncludingExtraQualifierSelectivity(CostEstimate cost,
                                                         int tableNumber)
        Report the cost if we include an extra qualifier.
      • traceCostIncludingExtraNonQualifierSelectivity

        void traceCostIncludingExtraNonQualifierSelectivity(CostEstimate cost,
                                                            int tableNumber)
        Report the cost if we include an extra non-qualifier.
      • traceCostOfNoncoveringIndex

        void traceCostOfNoncoveringIndex(CostEstimate cost,
                                         int tableNumber)
        Report the cost of using a non-covering index.
      • traceRememberingJoinStrategy

        void traceRememberingJoinStrategy(JoinStrategy joinStrategy,
                                          int tableNumber)
        Say that we've found a new best join strategy for the table.
      • traceRememberingBestAccessPathSubstring

        void traceRememberingBestAccessPathSubstring(AccessPath ap,
                                                     int tableNumber)
        Report the best access path for the table so far.
      • traceRememberingBestSortAvoidanceAccessPathSubstring

        void traceRememberingBestSortAvoidanceAccessPathSubstring(AccessPath ap,
                                                                  int tableNumber)
        Report the best sort-avoiding access path for this table so far.
      • traceRememberingBestUnknownAccessPathSubstring

        void traceRememberingBestUnknownAccessPathSubstring(AccessPath ap,
                                                            int tableNumber)
        Report an optimizer failure, e.g., while optimizing an outer join
      • traceCostOfConglomerateScan

        void traceCostOfConglomerateScan(int tableNumber,
                                         ConglomerateDescriptor cd,
                                         CostEstimate costEstimate,
                                         int numExtraFirstColumnPreds,
                                         double extraFirstColumnSelectivity,
                                         int numExtraStartStopPreds,
                                         double extraStartStopSelectivity,
                                         int startStopPredCount,
                                         double statStartStopSelectivity,
                                         int numExtraQualifiers,
                                         double extraQualifierSelectivity,
                                         int numExtraNonQualifiers,
                                         double extraNonQualifierSelectivity)
        Report the cost of a conglomerate scan.
      • traceCostIncludingCompositeSelectivityFromStats

        void traceCostIncludingCompositeSelectivityFromStats(CostEstimate cost,
                                                             int tableNumber)
        Report the cost based on selectivities coming out of SYSSTATISTICS.
      • traceCompositeSelectivityFromStatistics

        void traceCompositeSelectivityFromStatistics(double statCompositeSelectivity)
        Report the selectivity calculated from SYSSTATISTICS.
      • traceCostIncludingStatsForIndex

        void traceCostIncludingStatsForIndex(CostEstimate cost,
                                             int tableNumber)
        Report the cost based on index statistics.
      • printToWriter

        void printToWriter(java.io.PrintWriter out)
        Print the trace so far.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.