Java DB

Apache Derby

Derby Performance Tuning

Derby Getting Started
Derby Reference Manual
Derby Developer's Guide
Derby Performance Tuning
Derby Server and Admin Guide
Derby Tools and Utilities
Derby Performance Tuning
-Performance tips and tricks
-Tuning databases and applications
-DML statements and performance
-Performance and optimization
-Locking and performance
-Non-cost-based optimizations
-Overriding the default optimizer behavior
-Selectivity and cardinality statistics
-Internal language transformations
-Predicate transformations
-Transitive closure
-View transformations
-Subquery processing and transformations
-Outer join transformations
-Sort avoidance
-Aggregate processing
-

 

GROUP BY

Tuple filtering is applied for a GROUP BY when the following criteria are met:
  • All grouping columns come from the same table and the optimizer has chosen the table in question to be the outermost table in the query block.
  • The optimizer has chosen an index as the access path for the table in question.
  • The grouping columns, plus any simple column references from the table that have equality predicates on them, are a prefix of the index that the optimizer selected as the access path for the table.
Here is the most common case in which tuple filtering will be applied:
SELECT max(c2) FROM t1 GROUP BY c1
Equality predicates allow tuple filtering on the following:
SELECT c2, SUM(c3)
FROM t1
WHERE c1 = 5 GROUP BY c2

SELECT max(c4)
FROM t1
WHERE c1 = 5 AND c3 = 6 GROUP BY c2
 

javadb@jdbcurl.com