Edit C:\Program Files\Java\jdk1.7.0_45\db\lib\org\apache\derby\impl\sql\compile\Level2OptimizerImpl.class
Êþº¾ 0¬ ¦ Â Ã Ä ¥ Å Ã Æ ¥ Ç ¥ È ¥ É Ê Ë Ì Í Ë Î Ï ¥ Ð Ñ Ò Ó Ô Õ Ö × ¥ Ø Ù ¥ Ú Û Ü Ý ¥ Þ ß à á ¥ â ã ä ¥ å ¥ æ ¥ ç è é ê ë ì í î ï ð ñ ¥ ò ó ô õ ö ¥ ÷ ø ¥ ù ú û ¥ ü ý þ ÿ ¥ ¥ ¥ ¥ !"#$%&' ¥()*+ ¥,-./012 ¥3456789:;<=>?@ABCD Ó ÖEFGHIJKLMN ÃOPQR ¥STUVWXYZ Y[ Y\ Y] ^_`abc Yde Yfg Yhijk lcc :Lorg/apache/derby/iapi/sql/conn/LanguageConnectionContext; <init>O(Lorg/apache/derby/iapi/sql/compile/OptimizableList;Lorg/apache/derby/iapi/sql/compile/OptimizablePredicateList;Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;ZZZI[Lorg/apache/derby/iapi/sql/compile/JoinStrategy;ILorg/apache/derby/iapi/sql/compile/RequiredRowOrdering;ILorg/apache/derby/iapi/sql/conn/LanguageConnectionContext;)V Code Exceptionsl getLevel ()I newCostEstimate 2()Lorg/apache/derby/iapi/sql/compile/CostEstimate; getNewCostEstimate 9(DDD)Lorg/apache/derby/impl/sql/compile/CostEstimateImpl; trace (IIIDLjava/lang/Object;)V costForTable '(Ljava/lang/Object;I)Ljava/lang/String; bestCost ()Ljava/lang/String; buildJoinOrder *(Ljava/lang/String;ZI[I)Ljava/lang/String; lockModeThreshold :(Ljava/lang/String;Ljava/lang/String;DI)Ljava/lang/String; costIncluding 9(Ljava/lang/String;Ljava/lang/Object;I)Ljava/lang/String; dumpConglomerateDescriptor Q(Lorg/apache/derby/iapi/sql/dictionary/ConglomerateDescriptor;)Ljava/lang/String; ©mnopqrsptr § ¨ ´ µ 8org/apache/derby/impl/sql/compile/Level2CostEstimateImpl ©u ©v java/lang/StringBuffer Optimization started at time wxyzw{ using optimizer |} ¯w~ ¹ #Optimization time exceeded at time ?z ¸ ¹ No tables to optimize. We have a complete join order. Cost of sorting is ??w? No best plan found. 'Modifying access paths using optimizer ?r time exceeded cost????????????? ± no best plan found Short circuiting based on at join position Skipping join order: º » 'User specified join order is not legal. 1User-specified join order has now been optimized. Considering join order: )Total cost of non-sort-avoidance plan is ?? %Total cost of sort avoidance plan is ?? >Total cost of non-sort-avoidance plan with sort cost added is 7Current plan is a sort avoidance plan. Best cost is : ¸? This cost is : !This is the cheapest plan so far. Plan is a normal sort avoidance plan. Cost of cheapest plan is Sort needed for ordering: w? Row ordering: ?? " Remembering join order as best: ? <Skipping access path due to excess memory usage, maximum is ?? Cost of w? scans is: for table <Skipping HASH JOIN because optimizable is not materializable 8Skipping HASH JOIN because there are no hash key columns [I # hash key columns = hashKeyColumns[ ] = "Calling optimizeIt() for join node .org/apache/derby/iapi/sql/compile/JoinStrategy Considering join strategy Remembering access path as truly the best for table for plan type normal ,No more conglomerates to consider for table ;org/apache/derby/iapi/sql/dictionary/ConglomerateDescriptor À Á Considering conglomerate 8Scanning heap, but we have a full match on a unique key. 0Adding unordered optimizable, # of predicates = Changing access path for table =Lock mode set to MODE_TABLE because no start or stop position ?Index does not cover query - cost including base row fetch is: NLock mode set to MODE_RECORD because all start and stop positions are constant !Estimating cost of conglomerate: ¶ · "Looking for user-specified index: ,Guaranteed to match a single row - cost is: 1st column ¾ ¿ 3Cost including extra first column selectivity is : (Calling nextAccessPath() for base table with predicates. MODE_TABLE greater ¼ ½ MODE_RECORD less start/stop qualifier non-qualifier selectivity from statistics %statistics for index being considered )Selectivity from statistics found. It is 9Index does not cover query: cost including row fetch is: Remembering join strategy as best for table in best access path "in best sort avoidance access path in best unknown access path Cost of conglomerate scan for table number is : . Number of extra first column predicates is : &, extra first column selectivity is : , Number of extra start/stop predicates is : $, extra start/stop selectivity is : ! Number of extra qualifiers is : #, extra qualifier selectivity is : % Number of extra non-qualifiers is : ', extra non-qualifier selectivity is : 1 Number of start/stop statistics predicates is : ), statistics start/stop selectivity is : ?? Best cost = with assignedTableMap = ?? Lock mode set to because estimated row count of than threshold of Cost including extra start/stop selectivity is : ? ¡p¢£¤¥¦ , key columns = { , } CD: conglomerateNumber = §¨ name = © ¹ uuid = ª« indexable = 5org/apache/derby/impl/sql/compile/Level2OptimizerImpl /org/apache/derby/impl/sql/compile/OptimizerImpl -org/apache/derby/iapi/error/StandardException(Lorg/apache/derby/iapi/sql/compile/OptimizableList;Lorg/apache/derby/iapi/sql/compile/OptimizablePredicateList;Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;ZZZI[Lorg/apache/derby/iapi/sql/compile/JoinStrategy;ILorg/apache/derby/iapi/sql/compile/RequiredRowOrdering;I)V 8org/apache/derby/iapi/sql/conn/LanguageConnectionContext getOptimizerTrace ()Z optimizerTrace Z getOptimizerTraceHtml optimizerTraceHtml ()V (DDD)V append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; timeOptimizationStarted J (J)Ljava/lang/StringBuffer; java/lang/Object hashCode (I)Ljava/lang/StringBuffer; toString currentTime sortCost 0Lorg/apache/derby/iapi/sql/compile/CostEstimate; ,(Ljava/lang/Object;)Ljava/lang/StringBuffer; timeExceeded optimizableList 3Lorg/apache/derby/iapi/sql/compile/OptimizableList; proposedJoinOrder joinPosition I 1org/apache/derby/iapi/sql/compile/OptimizableList getOptimizable 2(I)Lorg/apache/derby/iapi/sql/compile/Optimizable; -org/apache/derby/iapi/sql/compile/Optimizable getBestAccessPath 0()Lorg/apache/derby/iapi/sql/compile/AccessPath; ,org/apache/derby/iapi/sql/compile/AccessPath getCostEstimate currentCost 4Lorg/apache/derby/impl/sql/compile/CostEstimateImpl; currentSortAvoidanceCost (Z)Ljava/lang/StringBuffer; requiredRowOrdering 7Lorg/apache/derby/iapi/sql/compile/RequiredRowOrdering; bestJoinOrder maxMemoryPerTable (D)Ljava/lang/StringBuffer; appendOptimizerTraceOutput (Ljava/lang/String;)V assignedTableMap $Lorg/apache/derby/iapi/util/JBitSet; getColumnNames ()[Ljava/lang/String; isIndex getIndexDescriptor :()Lorg/apache/derby/iapi/sql/dictionary/IndexRowGenerator; 6org/apache/derby/iapi/sql/dictionary/IndexRowGenerator baseColumnPositions ()[I getConglomerateNumber ()J getConglomerateName getUUID !()Lorg/apache/derby/catalog/UUID; ! ¥ ¦ § ¨ © ª « P D*+,- · *¹ µ *¹ µ *µ *´ ? *¶ ± ¬ ® ¯ « ¬ ° ± « » Y· ° ² ³ « » Y')· ° ´ µ « µ ©: *´ ? ±ª >