Description
This JIRA integrates star-join detection with the cost-based optimizer.
The join enumeration using dynamic programming generates a set of feasible joins. The sub-optimal plans can be eliminated by a sequence of independent, optional filters. The optional filters include heuristics for reducing the search space. For example,
- Star-join: Tables in a star schema relationship are planned together since they are assumed to have an optimal execution.
- Cartesian products: Cartesian products are deferred as late as possible to avoid large intermediate results (expanding joins, in general).
- Composite inners: “Bushy tree” plans are not generated to avoid materializing intermediate result.
For reference, see “Measuring the Complexity of Join Enumeration in Query Optimization” by Ono et al.
This JIRA implements the star join filter.