Semantic
Query Optimization
A different approach to query optimization,
called semantic query optimization,
has been suggested. This technique, which may be used in combination with the
techniques discussed previously, uses constraints specified on the database schema—such
as unique attributes and other more complex constraints—in order to modify one
query into another query that is more efficient to execute. We will not discuss
this approach in detail but we will illustrate it with a simple example.
Consider the SQL query:
SELECT E.Lname, M.Lname
FROM EMPLOYEE AS E, EMPLOYEE AS M
WHERE E.Super_ssn=M.Ssn AND E.Salary > M.Salary
This query retrieves the names of employees who
earn more than their supervisors. Suppose that we had a constraint on the
database schema that stated that no employee can earn more than his or her
direct supervisor. If the semantic query optimizer checks for the existence of
this constraint, it does not need to execute the query at all because it knows
that the result of the query will be empty. This may save considerable time if
the constraint checking can be done efficiently. However, searching through
many constraints to find those that are applicable to a given query and that
may semantically optimize it can also be quite time-consuming. With the
inclusion of active rules and additional metadata in database systems (see
Chapter 26), semantic query optimization techniques are being gradually
incorporated into the DBMSs.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.