×

Exploiting partitioning, grouping, and sorting in query optimization

  • US 8,745,037 B2
  • Filed: 12/17/2009
  • Issued: 06/03/2014
  • Est. Priority Date: 12/17/2009
  • Status: Active Grant
First Claim
Patent Images

1. One or more hardware memory devices, not being a signal per se, storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform a method comprising:

  • receiving an input query expression and a set of one or more physical property requirements, the input query expression being represented as an operator tree comprising a plurality of logical operators;

    performing logical exploration by applying transformation rules to generate a plurality of logical query expressions with varying logical operators;

    performing physical optimization for each logical query expression by applying implementation rules to convert logical operators to physical operatorswherein physical optimization comprises;

    for each physical operator considered for each logical operator, determining delivered structural properties output by the physical operator, the delivered structural properties including a partitioning property, a sorting property, and a grouping property, each defining a partition, sort, and group structure, respectively, of output data delivered from the physical operator;

    for each physical operator considered for each logical operator, determining required structural properties as input for the physical operator, the required structural properties including a partitioning property, a sorting property, and a grouping property, each defining a partition, sort, and group structure, respectively, of input data required for the physical operator;

    determining whether delivered structural properties satisfy corresponding required structural properties, wherein determining whether delivered structural properties satisfy corresponding required structural properties comprises;

    (a) determining whether delivered partitioning properties satisfy required partitioning properties;

    (b) determining whether delivered sorting properties satisfy required sorting properties; and

    (c) determining whether delivered grouping properties satisfy required grouping properties;

    identifying valid execution plans in which delivered structural properties satisfy required structural properties;

    estimating costs associated with each of the valid execution plans; and

    selecting, from the valid execution plans, an execution plan having a lowest cost as an optimized execution plan.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×