Patent Document ID: 8745037
Application ID: 12640829

Base Claim:
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 operators wherein 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.

---

Claim 7:
7. The one or more hardware memory devices of claim 1 , wherein both non-partitioned and partitioned implementations are considered for each logical operator.