Methods and systems receive a normalized query tree and analyze the tree
to collect information about join operators and their children, and
tables in an associated query. This information is then made available to
a rule based optimizer that is configured to produce, from the normalized
query tree, an execution plan. In addition, in at least some embodiments,
an extensible framework is provided for join order optimization via the
use of a multi-join operator and multi-join rules as part of the general
framework of a query optimizer.