Optimizing Nested Queries with Parameter Sort Orders
نویسندگان
چکیده
Nested iteration is an important technique for query evaluation. It is the default way of executing nested subqueries in SQL. Although decorrelation often results in cheaper non-nested plans, decorrelation is not always applicable for nested subqueries. Nested iteration, if implemented properly, can also win over decorrelation for several classes of queries. Decorrelation is also hard to apply to nested iteration in user-defined SQL procedures and functions. Recent research has proposed evaluation techniques to speed up execution of nested iteration, but does not address the optimization issue. In this paper, we address the issue of exploiting the ordering of nested iteration/procedure calls to speed up nested iteration. We propose state retention of operators as an important technique to exploit the sort order of parameters/correlation variables. We then show how to efficiently extend an optimizer to take parameter sort orders into consideration. We implemented our evaluation techniques on PostgreSQL, and present performance results that demonstrate significant benefits.
منابع مشابه
Optimization and Evaluation of Nested Queries and Procedures
Many database applications perform complex data retrieval and update tasks. Nested queries, and queries that invoke user-defined functions, which are written using a mix of procedural and SQL constructs, are often used in such applications. A straight-forward evaluation of such queries involves repeated execution of parameterized sub-queries or blocks containing queries and procedural code. An ...
متن کاملOptimizing Queries with Aggregate Views
Complex queries, with aggregates, views and nested sub-queries are important in decision-support applications. Such queries are represented as multi-block queries where a query block may be a view deenition containing aggregates or a correlated nested subquery. Beyond transformations that propagate predicates across blocks, the problem of optimizing such queries has not been addressed adequatel...
متن کاملEfficient Processing of Nested Fuzzy SQL Queries in a Fuzzy Database
ÐIn a fuzzy relational database where a relation is a fuzzy set of tuples and ill-known data are represented by possibility distributions, nested fuzzy queries can be expressed in the Fuzzy SQL language, as defined in [25], [23]. Although it provides a very convenient way for users to express complex queries, a nested fuzzy query may be very inefficient to process with the naive evaluation meth...
متن کاملDATA ENGINEERII { G A publication of the IEEE Computer Society EEE TRANSACTIONS ON
ln a fuzzy relational database where a relation is atuzzy sel of tuples and ill-known data are represented by possibility distributions, nested fuzzy queries can be expressed in lhe Fuzzy SQL language, as defined in [25], [23]. Although it provides a very convenient way for users to express complex queries, a nested fuzzy query may be very inefficient to process with the naive evaluation method...
متن کاملExecuting Nested Queries
Optimization of nested queries, in particular finding equivalent “flattened” queries for queries that employ the SQL sub-query construct, has been researched extensively. In contrast, with the exception of nested loops join, execution of nested plans has found little interest. Nested execution plans may result from a failure to flatten nested SQL expressions but just as likely are created by a ...
متن کامل