abstract |
A method, apparatus, and article of manufacture for optimizing a query in a computer system, wherein the query is performed by the computer system to retrieve data from a database stored on the computer system. The optimization includes: identifying a materialized view candidate in the computer system, matching a grouping of the materialized view with a grouping of the query using column equivalence and functional dependency, in order to determine whether re-aggregation is necessary, deriving one or more aggregate functions requested by the query from the materialized view and any remaining tables in the query based on the matched groupings, and rewriting the query based on the matched groupings. |