What are query optimization techniques? Explain(Cost-based Optimization, Heuristic-based Optimization, Semantic-based Optimization,)

 QUERY OPTIMIZATION

The function of a query optimization engine is to find an evaluation plan that reduces the overall execution cost of a query. We have seen in the previous sections that the costs for performing particular operations such as select and join can vary quite dramatically.

Query optimization strategies for lowering the execution time of queries include cost-based optimization, heuristic-based optimization, and semantic-based optimization.

Cost-based Optimization

This process of selecting a lower-cost mechanism is known as cost-based optimization. This is based on the cost of the query. The query can use different paths based on indexes, constraints, sorting methods etc. This method mainly uses the statistics like record size, number of records, number of records per block, number of blocks, table size, whether the whole table fits in a block, organization of tables, uniqueness of column values, size of columns, etc. Some of the features of cost-based optimization are as follows:

  • It is based on the cost of the query that to be optimized.
  • The query can use a lot of paths based on the value of indexes, available sorting methods, constraints, etc.
  • The aim of query optimization is to choose the most efficient path of implementing the query at the possible lowest minimum cost in the form of an algorithm.
  • The cost of executing the algorithm needs to be provided by the query Optimizer so that the most suitable query can be selected for an operation.
  • The cost of an algorithm also depends upon the cardinality of the input.


Heuristic-based Optimization

Heuristic optimization transforms the query tree by using a set of rules (Heuristics) that typically (but not in all cases) improve execution performance. Some common the common heuristic rules are:

  • Perform selection early (reduces the number of tuples) Perform projection early (reduces the number of attributes)
  • Perform most restrictive selection and join operations (i.e., with smallest result size) before other similar operations Initially query tree from SQL statement is generated. A query tree is transformed into a more efficient query tree, via a series of tree modifications, each of which hopefully reduces the execution time. A single query tree is involved at last.


Semantic-based Optimization

This strategy 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.



Comments

Popular posts from this blog

Suppose that a data warehouse consists of the four dimensions; date, spectator, location, and game, and the two measures, count and charge, where charge is the fee that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors, with each category having its own charge rate. a) Draw a star schema diagram for the data b) Starting with the base cuboid [date; spectator; location; game], what specific OLAP operations should perform in order to list the total charge paid by student spectators at GM Place in 2004?

Short Note on Security Architecture of E-governance

Explain Parallel Efficiency of MapReduce.