Techniques for Optimizing SQL Statements Using User-Defined Indexes with Auxiliary Properties
- Resource Type
- Patent
- Authors
- Source
- Subject
- Language
In one embodiment, a database server registers one or more functions included in a user-defined index that includes one or more auxiliary properties. The database server receives a query that specifies one or more parameters. A query optimizer generates a plurality of execution plans for evaluating the query. The query optimizer estimates a plurality of total costs respectively associated with the plurality of execution plans, where estimating a particular total cost associated with a particular execution plan comprises: invoking the one or more functions with one or more function arguments based on the one or more parameters; receiving one or more index costs that are associated with using the one or more auxiliary properties of the user-defined index to evaluate the query; and determining the particular total cost based on the one or more index costs. From the plurality of execution plans, the query optimizer selects an optimal execution plan that is associated with an optimal total cost of the plurality of total costs.