Optimization of relational database queries
First Claim
1. A data retrieval system in which a plurality of objects having a multi-level hierarchical relationship are stored, each object having a respective parent and a set of children, said system including:
- means adapted to store one or more base tables, each base table comprising a respective set of attributes associated with a sub-set of objects in the system;
means adapted to generate for each base table a respective complementary table, the complementary table comprising a set of attributes excluding the attributes of the associated base table and having a null cardinality; and
optimisation means adapted to interpret a query comprising an expression including one or more operations, each operation having a respective operator and one or more associated operands;
to track a number of objects associated with each operation and any attributes associated with the operation; and
to reformulate the expression accordingly.
1 Assignment
0 Petitions
Accused Products
Abstract
A data retrieval system stores a plurality of objects having a multi-level hierarchical relationship, each object having a respective parent and a set of children. The system stores one or more base tables, the or each base table comprising a respective set of attributes associated with a sub-set of objects in the system, and generates for the or each base table a respective complementary table, the or each complementary table comprising a set of attributes excluding the attributes of the associated base table. The system further includes an expression optimiser adapted to interpret a query comprising an expression including one or more operations, each operation having a respective operator and one or more associated operands. The optimser tracks a number of objects associated with the or each operation and any attributes associated with the operation; and re-formulates the expression accordingly.
-
Citations
23 Claims
-
1. A data retrieval system in which a plurality of objects having a multi-level hierarchical relationship are stored, each object having a respective parent and a set of children, said system including:
-
means adapted to store one or more base tables, each base table comprising a respective set of attributes associated with a sub-set of objects in the system;
means adapted to generate for each base table a respective complementary table, the complementary table comprising a set of attributes excluding the attributes of the associated base table and having a null cardinality; and
optimisation means adapted to interpret a query comprising an expression including one or more operations, each operation having a respective operator and one or more associated operands;
to track a number of objects associated with each operation and any attributes associated with the operation; and
to reformulate the expression accordingly.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
rename any attributes of one operand synonymous with attributes of said other operand;
replace the join operator with a product operator;
restrict the product operation to objects where any renamed attributes of the said one operand and any previously synonymous attributes of said other operand match; and
project the expression to remove any renamed attributes of the said one operand.
-
-
12. A computer program product comprising computer readable program code stored on a computer readable recording medium, the program code including a data retrieval system in which a plurality of objects having a multi-level hierarchical relationship are stored, each object having a respective parent and a set of children, said system including:
- means adapted to store one or more base tables, each base table comprising a respective set of attributes associated with a sub-set of objects in the system, means adapted to generate for each base table a respective complementary table, the complementary table comprising a set of attributes excluding the attributes of the associated base table and having a null cardinality, and optimisation means adapted to interpret a query comprising an expression including one or more operations, each operation having a respective operator and one or more associated operands;
to track a number of objects associated with each operation and any attributes associated with the operation; and
to reformulate the expression accordingly.
- means adapted to store one or more base tables, each base table comprising a respective set of attributes associated with a sub-set of objects in the system, means adapted to generate for each base table a respective complementary table, the complementary table comprising a set of attributes excluding the attributes of the associated base table and having a null cardinality, and optimisation means adapted to interpret a query comprising an expression including one or more operations, each operation having a respective operator and one or more associated operands;
-
13. A method for optimizing access to a data retrieval system, said data retrieval system comprising a plurality of objects having a multi-level hierarchical relationship, each object having a respective parent and a set of children, comprising the steps of:
-
storing one or more base tables, each base table comprising a respective set of attributes associated with a sub-set of objects in the system;
generating for each base table a respective complementary table, the complementary table comprising a set of attributes excluding the attributes of the associated base table and having a null cardinality;
interpreting a query comprising an expression including one or more operations, each operation having a respective operator and one or more associated operands;
tracking a number of objects associated with each operation and any attributes associated with the operation; and
reformulating the expression accordingly. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
renaming any attributes of one operand synonymous with attributes of said other operand;
replacing the join operator with a product operator;
restricting the product operation to objects where any renamed attributes of the one operand and any previously synonymous attributes of said other operand match; and
projecting the expression to remove any renamed attributes of the one operand.
-
Specification