SERVER SIDE BUCKETIZATION OF PARAMETERIZED QUERIES
First Claim
1. A method for bucketizing at least one parameter of a parameterized expression of a query language for querying a data store, comprising:
- receiving at least one parameterized query expression of a query language from a requesting object; and
generating at least one new parameterized query expression based on the at least one parameterized query expression, wherein the generating includes replacing a type of at least one parameter of the at least one parameterized query expression with a new type according to at least one pre-defined optimization algorithm.
2 Assignments
0 Petitions
Accused Products
Abstract
Efficient server-side query statement parameter bucketization is provided for a query language, such as the structured query language (SQL). A process is applied for replacing the parameters of a parameterized query with new parameters, whose types are normalized to enable more query execution plan sharing. In one embodiment, in response to receiving a parameterized query expression of a query language, the bucketization process operates to bucketize parameter(s) of the parameterized expression based on the type(s) of the parameter(s) by replacing the type(s) with new broader, or more specific, type(s). An existing server-side parameterization framework that includes a mechanism for determining when parameterization is “safe,” is extended, and is applied to bucketize parameters by using the mechanism to determine when replacing a parameter(s) of parameterized expressions with new parameter(s) of different type(s) is safe.
34 Citations
20 Claims
-
1. A method for bucketizing at least one parameter of a parameterized expression of a query language for querying a data store, comprising:
-
receiving at least one parameterized query expression of a query language from a requesting object; and generating at least one new parameterized query expression based on the at least one parameterized query expression, wherein the generating includes replacing a type of at least one parameter of the at least one parameterized query expression with a new type according to at least one pre-defined optimization algorithm. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A database server for maintaining and updating a data store, comprising:
-
a parameter type bucketization logic component that receives at least one parameterized query expression of a query language and generates at least one new parameterized query expression based on the at least one parameterized query expression by converting a type of at least one parameter of the at least one parameterized query expression to a new type according to at least one optimization algorithm; and a query optimizer component that receives the at least one new parameterized query expression and generates an optimized query plan according to the at least one new parameterized query expression. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for processing a plurality of parameterized expressions of a query language, comprising:
-
receiving a first parameterized query expression of the query language by a database server object, wherein the first parameterized query expression includes at least one literal including a first parameter type; transforming the first parameterized query expression to a first bucketized query expression according to a transformation process that changes the first parameter type to a new parameter type; generating a query execution plan based on the first bucketized query expression; receiving a second parameterized query expression of the query language by the database server object, wherein the second parameterized query expression includes at least one literal including a second parameter type different than the first parameter type; transforming the second parameterized query expression to a second bucketized query expression according to the transformation process, whereby the transformation process changes the second parameter type to said new parameter type; and accessing said query execution plan generated based on the first bucketized query expression when executing said second bucketized query expression, wherein said first bucketized query expression is equivalent to said second bucketized query expression. - View Dependent Claims (20)
-
Specification