摘要 |
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 optimiser tracks a number of objects associated with the or each operation and any attributes associated with the operation; and re-formulates the expression accordingly. The system enables optimisation of relational expressions, by transforming a supplied expression into one which is faster (less resource consuming) to evaluate. It eliminates unnecessary operations, and possibly re-orders others, this results in the elimination of certain base relations from an expression, where possible.
|