Accelerating queries using delayed value projection of enumerated storage
First Claim
Patent Images
1. A method, comprising:
- receiving a query that references a column within a table, wherein a column cell from the column contains an enumeration value, and wherein the column is associated with a lookup-table configured to translate the enumeration value into a column cell value corresponding to the column cell;
generating a set of query processing steps that, when executed by one or more processors, provides a query result to the query;
passing a projection of the column containing the enumeration value to a query processing step from the set of query processing steps;
determining, prior to executing the query processing step, that a partial result that is generated within the query processing step using the enumeration value instead of the column cell value does not change the partial result;
executing, in response to the determination that the partial result does not change, the query processing step using the enumeration value to produce the partial result; and
delaying, in response to the determination that the partial result does not change, a translation of the enumeration value into the column cell value during execution of the set of query processing steps by passing the projection of the column containing the enumeration value to a subsequent query processing step from the set of query processing steps, wherein the translation is delayed until determining that a subsequent partial result that is generated within the subsequent processing step using the enumeration value is different from the subsequent partial result generated using the column value.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method, and computer program product for processing a database query are presented. Steps for identifying a table needed to resolve the query, creating an enumeration value, determining whether the enumeration value is semantically equivalent to data from a data field in the table, and using a temporary data structure to evaluate the query are disclosed.
-
Citations
19 Claims
-
1. A method, comprising:
-
receiving a query that references a column within a table, wherein a column cell from the column contains an enumeration value, and wherein the column is associated with a lookup-table configured to translate the enumeration value into a column cell value corresponding to the column cell; generating a set of query processing steps that, when executed by one or more processors, provides a query result to the query; passing a projection of the column containing the enumeration value to a query processing step from the set of query processing steps; determining, prior to executing the query processing step, that a partial result that is generated within the query processing step using the enumeration value instead of the column cell value does not change the partial result; executing, in response to the determination that the partial result does not change, the query processing step using the enumeration value to produce the partial result; and delaying, in response to the determination that the partial result does not change, a translation of the enumeration value into the column cell value during execution of the set of query processing steps by passing the projection of the column containing the enumeration value to a subsequent query processing step from the set of query processing steps, wherein the translation is delayed until determining that a subsequent partial result that is generated within the subsequent processing step using the enumeration value is different from the subsequent partial result generated using the column value. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a computing device, cause the computing device to perform a method comprising:
-
receiving a query that references a column within a table, wherein a column cell from the column contains an enumeration value, and wherein the column is associated with a lookup-table configured to translate the enumeration value into a column cell value corresponding to the column cell; generating a set of query processing steps that, when executed, provides a query result to the query; passing a projection of the column containing the enumeration value to a query processing step from the set of query processing steps; determining, prior to executing the query processing step, that a partial result that is generated within the query processing step using the enumeration value instead of the column cell value does not change the partial result; executing, in response to the determination that the partial result does not change, the query processing step using the enumeration value to produce the partial result; and delaying, in response to the determination that the partial result does not change, a translation of the enumeration value into the column cell value during execution of the set of query processing steps by passing the projection of the column containing the enumeration value to a subsequent query processing step from the set of query processing steps, wherein the translation is delayed until determining that a subsequent partial result that is generated within the subsequent processing step using the enumeration value is different from the subsequent partial result generated using the column value. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a processor; and a memory to store instructions, wherein the instructions are executed by the processor to perform operations comprising; receiving a query that references a column within a table, wherein a column cell from the column contains an enumeration value, and wherein the column is associated with a lookup-table configured to translate the enumeration value into a column cell value corresponding to the column cell, generating a set of query processing steps that, when executed, provides a query result to the query, passing a projection of the column containing the enumeration value to a query processing step from the set of query processing steps, determining that a partial result that is generated within the query processing step using the enumeration value instead of the column cell value does not change the partial result, executing, in response to the determination that the partial result does not change, the query processing step using the enumeration value to produce the partial result, and delaying, in response to the determination that the partial result does not change, a translation of the enumeration value into the column cell value during execution of the set of query processing steps by passing the projection of the column containing the enumeration value to a subsequent query processing step from the set of query processing steps, wherein the translation is delayed until determining that a subsequent partial result that is generated within the subsequent processing step using the enumeration value is different from the subsequent partial result generated using the column value. - View Dependent Claims (16, 17, 18, 19)
-
Specification