×

Techniques for bushy tree execution plans for snowstorm schema

  • US 8,438,152 B2
  • Filed: 10/29/2007
  • Issued: 05/07/2013
  • Est. Priority Date: 10/29/2007
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method, comprising steps of:

  • in response to determining that a particular query refers to one or more fact tables and one or more dimension tables, generating a transformed query based on the particular query to force a bushy tree execution to compute the results for the particular query;

    wherein the particular query specifies at least three join predicates;

    wherein the at least three join predicates include a first join predicate, a second join predicate, and a third join predicate;

    wherein a table referenced in the first join predicate is also referenced in the second join predicate;

    wherein a table referenced in the second join predicate is also referenced in the third join predicate;

    wherein generating the transformed query includes;

    enclosing, in an unmergeable view, a join operation based on the third join predicate;

    modifying the second join predicate to reference the unmergeable view;

    determining a first execution cost of the transformed query, wherein determining the first execution cost includes generating and evaluating at least one execution plan for computing the transformed query;

    determining a second execution cost of at least one version of the particular query, said version of the particular query being either (1) the particular query or (2) another transformed query based on the particular query, wherein determining the second execution cost includes generating and evaluating at least one execution plan of said at least one version of the particular query;

    performing a comparison of the first execution cost of the transformed query and the second execution cost of said at least one version of the particular query;

    based on the comparison, selecting the transformed query as an optimized version of the particular query; and

    wherein the steps are performed by one or more computing devices in response to executing the code of a query optimizer.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×