Intelligent storage
must have the ability to interpret and process complex requests such
as correlated queries. A correlated query is a select expression where
a predicate within the query has a relationship to a column that is
defined in another scope. Today's business and analytic intelligence
tools often generate SQL queries that are nested 3 or 4 layers deep.
Queries with cross-nested relationships consume significant processor
resources and require more time to complete processing. New algorithms
in the SQL Planner of SPD Server implement techniques that significantly
improve the performance of correlated queries for patterns that permit
query rewrites or query de-correlation.
The SQL Planner improves
correlated query performance by changing complex rules about nested
relationships into a series of simple steps. SPD Server can process
the simple steps much faster than it can process the complex rules
that arise with multiple levels of nesting. When a query with multiple
levels of nesting is submitted to the SQL Planner, the planner examines
the relationships between nested and unnested sections of the query.
When a complex nested relation ship is found, the SQL Planner restructures
or recodes the SQL query into a simpler form using temporary SPD Server
tables.
Development work continues
to improve the range of sub-expressions that are addressed by the
SPD Server SQL rewrite facility. For more information, see Chapter
8, "SPD Server SQL Query Rewrite Facility" in the
SAS Scalable
Performance Data (SPD) Server 4.5: Administrator's Guide.