Keywords: Internal transformation of statements, COUNT

# COUNT(nonNullableColumn)

Derby transforms COUNT(nonNullableColumn) into COUNT(*). This improves performance by potentially reducing the number of referenced columns in the table (each referenced column needs to be read in for each row) and by giving the optimizer more access path choices. For example, the cheapest access path for

    SELECT COUNT(*) FROM t1

is the index on t1 with the smallest number of leaf pages, and the optimizer is free to choose that path.
Parent topic: Aggregate processing