SlideShare uma empresa Scribd logo
1 de 31
Query Processing and
Optimization
Introduction
• In this chapter we shall discuss the techniques
used by a DBMS to process, optimize and execute
high-level queries.
• The techniques used to split complex queries into
multiple simple operations and methods of
implementing these low-level operations.
• The query optimization techniques are used to
chose an efficient execution plan that will
minimize the runtime as well as many other types
of resources such as number of disk I/O, CPU
time and so on.
Query Processing
• Query Processing is a procedure of transforming a high-level
query (such as SQL) into a correct and efficient execution plan
expressed in low-level language.
• When a database system receives a query for update or
retrieval of information, it goes through a series of
compilation steps, called execution plan.
• Query processing goes through various phases:
• first phase is called syntax checking phase, the system parses
the query and checks that it follows the syntax rules or not.
• It then matches the objects in the query syntax with the view
tables and columns listed in the system table.
• In second phase the SQL query is translated in to an algebraic
expression using various rules.
• So that the process of transforming a high-level SQL query into a
relational algebraic form is called Query Decomposition.
• The relational algebraic expression now passes to the query
optimizer.
• In third phase optimization is performed by substituting equivalent
expression depends on the factors such that the existence of
certain database structures, whether or not a given file is stored,
the presence of different indexes & so on.
• Query optimization module work in tandem with the join manager
module to improve the order in which joins are performed.
• At this stage the cost model and several other
estimation formulas are used to rewrite the query.
• The modified query is written to utilize system
resources so as to bring the optimal performance.
• The query optimizer then generates an action plan also
called a execution plan.
• This action plans are converted into a query codes that
are finally executed by a run time database processor.
• The run time database processor estimate the cost of
each action plan and chose the optimal one for the
execution.
Query Analyzer
• The syntax analyzer takes the query from the
users, parses it into tokens and analyses the
tokens and their order to make sure they
follow the rules of the language grammar.
• Is an error is found in the query submitted by
the user, it is rejected and an error code
together with an explanation of why the query
was rejected is return to the user.
Query Decomposition
• In query decomposition the query processing aims are to transfer
the high-level query into a relational algebra query and to check
whether that query is syntactically and semantically correct.
• Thus the query decomposition is start with a high-level query and
transform into query graph of low-level operations, which satisfy
the query.
• The SQL query is decomposed into query blocks (low-level
operations), which form the basic unit.
• Hence nested queries within a query are identified as separate
query blocks.
• The query decomposer goes through five stages of processing for
decomposition into low-level operation and translation into
algebraic expressions.
Query Analysis
• During the query analysis phase, the query is
syntactically analyzed using the programming
language compiler (parser).
• A syntactically legal query is then validated,
using the system catalog, to ensure that all
data objects (relations and attributes) referred
to by the query are defined in the database.
• The type specification of the query qualifiers
and result is also checked at this stage.
• Example:
SELECT emp_nm FROM EMPLOYEE WHERE
emp_desg>100
This query will be rejected because the comparison
“>100” is incompatible with the data type of
emp_desg which is a variable character string.
• At the end of query analysis phase, the high-level query
(SQL) is transformed into some internal representation
that is more suitable for processing.
• This internal representation is typically a kind of query
tree.
• A Query Tree is a tree data structure that
corresponds expression.
• A Query Tree is also called a relational algebra
tree.
– Leaf node of the tree, representing the base
input relations of the query.
– Internal nodes result of applying an operation in
the algebra.
– Root of the tree representing a result of the query.
• SELECT (P.proj_no, P.dept_no, E.name, E.add,
E.dob)
• FROM PROJECT P, DEPARTMENT D, EMPLOYEE
E
• WHERE P.dept_no = D.d_no AND D.mgr_id =
E.emp_id AND P.proj_loc = ‘Mumbai’ ;
• The three relations PROJECT, DEPARTMENT,
EMPLOYEE are represent as a leaf nodes P, D
and E, while the relational algebra operations
of the represented by internal tree nodes.
• Same SQL query can have man different
relational algebra expressions and hence
many different query trees.
• The query parser typically generates a
standard initial (canonical) query tree.
Query Normalization
• The primary phase of the normalization is to avoid
redundancy.
• The normalization phase converts the query into a
normalized form that can be more easily manipulated.
• In the normalization phase, a set of equivalency rules
are applied so that the projection and selection
operations included on the query are simplified to
avoid redundancy.
• The projection operation corresponds to the SELECT
clause of SQL query and the selection operation
correspond to the predicate found in WHERE clause.
• The equivalency transformation rules that are applied.
Semantic Analyzer
• The objective of this phase of query processing is to reduce the number of
predicates.
• The semantic analyzer rejects the normalized queries that are incorrectly
formulated.
• A query is incorrectly formulated if components do not contribute to the
generation of result.
• This happens in case of missing join specification.
• A query is contradictory if its predicate cannot satisfy by any tuple in the relation.
• The semantic analyzer examine the relational calculus query (SQL) to make sure it
contains only data objects that is table, columns, views, indexes that are defined in
the database catalog.
• It makes sure that each object in the query is referenced correctly according to its
data type.
• In case of missing join specifications the components do not contribute to the
generation of the results, and thus, a query may be incorrect formulated.
Query Simplifier
• The objectives of this phase are to detect redundant
qualification, eliminate common sub-expressions and
transform sub-graph to semantically equivalent but
more easy and efficiently computed form.
• Why to simplify?
– Commonly integrity constraints, view definitions and
access restrictions are introduced into the graph at this
stage of analysis so that the query must be simplified as
much as possible.
– Integrity constraints defines constants which must holds
for all state of database, so any query that contradict an
integrity constraints must be avoid and can be rejected
without accessing the database.
Query Restructuring
• In the final stage of the query decomposition,
the query can be restructured to give a more
efficient implementation.
• Transformation rules are used to convert one
relational algebra expression into an
equivalent form that is more efficient.
• The query can now be regarded as a relational
algebra program, consisting of a series of
operations on relation.
Query Optimization
• The primary goal of query optimization is of
choosing an efficient execution strategy for
processing a query.
• The query optimizer attempts to minimize the
use of certain resources (mainly the number of
I/O and CPU time) by selecting a best execution
plan (access plan).
• A query optimization start during the validation
phase by the system to validate the user has
appropriate privileges.
• Now an action plan is generate to perform the
query.
Block Diagram of Query Optimization
• Relational algebra query tree generated by the query
simplifier module of query decomposer.
• Estimation formulas used to determine the cardinality
of the intermediate result table.
• A cost Model.
• Statistical data from the database catalogue.
The output of the query optimizer is the execution plan
in form of optimized relational algebra query.
A query typically has many possible execution
strategies, and the process of choosing a suitable one
for processing a query is known as Query Optimization.
The basic issues in Query Optimization
• How to use available indexes?
• How to use memory to accumulate
information and perform immediate steps
such as sorting?
• How to determine the order in which joins
should be performed?
Objective of query optimization
• The term query optimization does not mean
giving always an optimal (best) strategy as the
execution plan.
• It is just a responsibly efficient strategy for
execution of the query.
• The decomposed query block of SQL is
translating into an equivalent extended
relational algebra expression and then
optimized.
Techniques for Query Optimization
• The first technique is based on Heuristic Rules
for ordering the operations in a query
execution strategy.
• The second technique involves the systematic
estimation of the cost of the different
execution strategies and choosing the
execution plan with the lowest cost.
• Semantic query optimization is used with the
combination with the heuristic query
transformation rules.
• It 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.
Heuristic Rules
• The heuristic rules are used as an optimization
technique to modify the internal representation
of query.
• Usually, heuristic rules are used in the form of
query tree of query graph data structure, to
improve its performance.
• One of the main heuristic rule is to apply SELECT
operation before applying the JOIN or other
BINARY operations.
• This is because the size of the file resulting from a
binary operation such as JOIN is usually a multi-
value function of the sizes of the input files.
Heuristic Rules
• The SELECT and PROJECT reduced the size of
the file and hence, should be applied before
the JOIN or other binary operation.
• Heuristic query optimizer transforms the
initial (canonical) query tree into final query
tree using equivalence transformation rules.
• This final query tree is efficient to execute.
General Transformation Rules
• Cascade of σ :-
• σ c1 AND c2 AND …AND cn (R) = σ c1 (σ c2 (…(σ cn (R))…))
• Commutativity of σ :-
• σ C1 (σ C2 (R)) = σ C2 (σ C1 (R))
Cascade of Л :-
• Л List1 (Л List2 (…(Л List n (R))…)) = Л List1 (R)
• Commuting σ with Л :-
• Л A1,A2,A3…An (σ C (R) ) = σ C (Л A1,A2,A3…An (R))
General Transformation Rules
Commutativity of ⋈ AND x :-
R ⋈ c S = S ⋈ c R
R x S = S x R
• Commuting σ with ⋈ or x :-
If all attributes in selection condition c involved only attributes of one of the relation
schemas (R).
σ c (R ⋈ S) = (σ c (R) ) ⋈ S
Alternatively, selection condition c can be written as (c1 AND c2) where condition c1
involves only attributes of R and condition c2 involves only attributes of S then :
σ c (R ⋈ S) = (σ c1 (R) ) ⋈ (σ c2 (S) )
• Commuting Л with ⋈ or x :-
The projection list L = {A1,A2,..An,B1,B2,…Bm}.
A1…An attributes of R and B1…Bm attributes of S.
Join condition C involves only attributes in L then :
ЛL ( R ⋈ c S ) = ( ЛA1,…An (R) ) ⋈c ( ЛB1,…Bm(S) )
General Transformation Rules
• Commutative of SET Operation :-
R ⋃ S = S ⋃ R
R ⋂ S = S ⋂ R
Minus (R-S) is not commutative.
• Associatively of ⋈, x, ⋂, and ⋃ :-
If ∅ stands for any one of these operation throughout the expression then :
(R ∅ S) ∅ T = R ∅ (S ∅ T)
• Commutativity of σ with SET Operation :-
If ∅ stands for any one of three operations (⋃,⋂,and-) then :
σ c (R ∅ S) = (σ c (R)) ⋃ (σ c (S))
Л c (R ∅ S) = (Л c (R)) ⋃ (Лc (S))
• The Л operation comute with ⋃ :-
Л L (R ⋃ S) = (Л L(R)) ⋃ (Л L(S))
• Converting a (σ,x) sequence with ⋃
(σ c (R x S)) = (R ⋈ c S)
THANK YOU

Mais conteúdo relacionado

Mais procurados

13. Query Processing in DBMS
13. Query Processing in DBMS13. Query Processing in DBMS
13. Query Processing in DBMSkoolkampus
 
14. Query Optimization in DBMS
14. Query Optimization in DBMS14. Query Optimization in DBMS
14. Query Optimization in DBMSkoolkampus
 
Nested queries in database
Nested queries in databaseNested queries in database
Nested queries in databaseSatya P. Joshi
 
Query optimization
Query optimizationQuery optimization
Query optimizationdixitdavey
 
Distributed database management system
Distributed database management  systemDistributed database management  system
Distributed database management systemPooja Dixit
 
Database , 8 Query Optimization
Database , 8 Query OptimizationDatabase , 8 Query Optimization
Database , 8 Query OptimizationAli Usman
 
Fragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed DatabaseFragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed DatabaseAbhilasha Lahigude
 
Query optimization in SQL
Query optimization in SQLQuery optimization in SQL
Query optimization in SQLAbdul Rehman
 
Distributed Database System
Distributed Database SystemDistributed Database System
Distributed Database SystemSulemang
 
Query processing and Query Optimization
Query processing and Query OptimizationQuery processing and Query Optimization
Query processing and Query OptimizationNiraj Gandha
 

Mais procurados (20)

13. Query Processing in DBMS
13. Query Processing in DBMS13. Query Processing in DBMS
13. Query Processing in DBMS
 
14. Query Optimization in DBMS
14. Query Optimization in DBMS14. Query Optimization in DBMS
14. Query Optimization in DBMS
 
Distributed database
Distributed databaseDistributed database
Distributed database
 
Nested queries in database
Nested queries in databaseNested queries in database
Nested queries in database
 
Lec 7 query processing
Lec 7 query processingLec 7 query processing
Lec 7 query processing
 
serializability in dbms
serializability in dbmsserializability in dbms
serializability in dbms
 
Query optimization
Query optimizationQuery optimization
Query optimization
 
Distributed DBMS - Unit 1 - Introduction
Distributed DBMS - Unit 1 - IntroductionDistributed DBMS - Unit 1 - Introduction
Distributed DBMS - Unit 1 - Introduction
 
Databases: Normalisation
Databases: NormalisationDatabases: Normalisation
Databases: Normalisation
 
Distributed database management system
Distributed database management  systemDistributed database management  system
Distributed database management system
 
2 phase locking protocol DBMS
2 phase locking protocol DBMS2 phase locking protocol DBMS
2 phase locking protocol DBMS
 
Database , 8 Query Optimization
Database , 8 Query OptimizationDatabase , 8 Query Optimization
Database , 8 Query Optimization
 
Fragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed DatabaseFragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed Database
 
Query optimization in SQL
Query optimization in SQLQuery optimization in SQL
Query optimization in SQL
 
Distributed Database System
Distributed Database SystemDistributed Database System
Distributed Database System
 
joins in database
 joins in database joins in database
joins in database
 
Query processing
Query processingQuery processing
Query processing
 
Data Models
Data ModelsData Models
Data Models
 
Query processing and Query Optimization
Query processing and Query OptimizationQuery processing and Query Optimization
Query processing and Query Optimization
 
Deadlock dbms
Deadlock dbmsDeadlock dbms
Deadlock dbms
 

Destaque

Cost estimation for Query Optimization
Cost estimation for Query OptimizationCost estimation for Query Optimization
Cost estimation for Query OptimizationRavinder Kamboj
 
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...Beat Signer
 
Normalization of Data Base
Normalization of Data BaseNormalization of Data Base
Normalization of Data BaseRavinder Kamboj
 
Data Warehousing and Data Mining
Data Warehousing and Data MiningData Warehousing and Data Mining
Data Warehousing and Data Miningidnats
 
Lecture 1&2(rdbms-ii)
Lecture 1&2(rdbms-ii)Lecture 1&2(rdbms-ii)
Lecture 1&2(rdbms-ii)Ravinder Kamboj
 
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 인터넷구입,프릴리지 인터넷구입,흥분제 인터...
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 인터넷구입,프릴리지 인터넷구입,흥분제 인터...비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 인터넷구입,프릴리지 인터넷구입,흥분제 인터...
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 인터넷구입,프릴리지 인터넷구입,흥분제 인터...成 金
 
PROMPERU - guia de mercado Ecuador
PROMPERU - guia de mercado EcuadorPROMPERU - guia de mercado Ecuador
PROMPERU - guia de mercado Ecuadoragroalimentaria.pe
 
Le molecole biologiche - didattica differenziata
Le molecole biologiche - didattica differenziataLe molecole biologiche - didattica differenziata
Le molecole biologiche - didattica differenziataIacopo Pappalardo
 
Lecture 5 6_7 - divide and conquer and method of solving recurrences
Lecture 5 6_7 - divide and conquer and method of solving recurrencesLecture 5 6_7 - divide and conquer and method of solving recurrences
Lecture 5 6_7 - divide and conquer and method of solving recurrencesjayavignesh86
 
Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Dmitri Zimine
 

Destaque (15)

Cost estimation for Query Optimization
Cost estimation for Query OptimizationCost estimation for Query Optimization
Cost estimation for Query Optimization
 
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
 
Normalization of Data Base
Normalization of Data BaseNormalization of Data Base
Normalization of Data Base
 
Data Warehousing and Data Mining
Data Warehousing and Data MiningData Warehousing and Data Mining
Data Warehousing and Data Mining
 
Lecture 1&2(rdbms-ii)
Lecture 1&2(rdbms-ii)Lecture 1&2(rdbms-ii)
Lecture 1&2(rdbms-ii)
 
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 인터넷구입,프릴리지 인터넷구입,흥분제 인터...
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 인터넷구입,프릴리지 인터넷구입,흥분제 인터...비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 인터넷구입,프릴리지 인터넷구입,흥분제 인터...
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 인터넷구입,프릴리지 인터넷구입,흥분제 인터...
 
PROMPERU - guia de mercado Ecuador
PROMPERU - guia de mercado EcuadorPROMPERU - guia de mercado Ecuador
PROMPERU - guia de mercado Ecuador
 
MINAGRI - siea 2015
MINAGRI - siea 2015MINAGRI - siea 2015
MINAGRI - siea 2015
 
MINAGRI - agroindustrial 2015
MINAGRI - agroindustrial 2015MINAGRI - agroindustrial 2015
MINAGRI - agroindustrial 2015
 
Le molecole biologiche - didattica differenziata
Le molecole biologiche - didattica differenziataLe molecole biologiche - didattica differenziata
Le molecole biologiche - didattica differenziata
 
Bitacoras
BitacorasBitacoras
Bitacoras
 
Sandra m lenguaje señas
Sandra m lenguaje señasSandra m lenguaje señas
Sandra m lenguaje señas
 
Lecture 5 6_7 - divide and conquer and method of solving recurrences
Lecture 5 6_7 - divide and conquer and method of solving recurrencesLecture 5 6_7 - divide and conquer and method of solving recurrences
Lecture 5 6_7 - divide and conquer and method of solving recurrences
 
BIS05 Introduction to SQL
BIS05 Introduction to SQLBIS05 Introduction to SQL
BIS05 Introduction to SQL
 
Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015
 

Semelhante a Query processing and optimization (updated)

LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptxLECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptxAthosBeatus
 
Lecture 5.pptx
Lecture 5.pptxLecture 5.pptx
Lecture 5.pptxShafii8
 
Query optimization
Query optimizationQuery optimization
Query optimizationPooja Dixit
 
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cPresentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cRonald Francisco Vargas Quesada
 
UNIT3 DBMS.pptx operation nd management of data base
UNIT3 DBMS.pptx operation nd management of data baseUNIT3 DBMS.pptx operation nd management of data base
UNIT3 DBMS.pptx operation nd management of data baseshindhe1098cv
 
Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Sunny Mervyne Baa
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsTaymoor Nazmy
 
Overview of query evaluation
Overview of query evaluationOverview of query evaluation
Overview of query evaluationavniS
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Query handlingbytheserver
Query handlingbytheserverQuery handlingbytheserver
Query handlingbytheserversqlserver.co.il
 
DS M1 full - KQB KtuQbank.pdf
DS M1 full - KQB KtuQbank.pdfDS M1 full - KQB KtuQbank.pdf
DS M1 full - KQB KtuQbank.pdfMidhunM83
 

Semelhante a Query processing and optimization (updated) (20)

LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptxLECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
 
Lecture 5.pptx
Lecture 5.pptxLecture 5.pptx
Lecture 5.pptx
 
Query optimization
Query optimizationQuery optimization
Query optimization
 
Query optimization
Query optimizationQuery optimization
Query optimization
 
module 1.pptx
module 1.pptxmodule 1.pptx
module 1.pptx
 
Query optimization
Query optimizationQuery optimization
Query optimization
 
Mc seminar
Mc seminarMc seminar
Mc seminar
 
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cPresentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12c
 
Measures of query cost
Measures of query costMeasures of query cost
Measures of query cost
 
Statistics
StatisticsStatistics
Statistics
 
Oracle query optimizer
Oracle query optimizerOracle query optimizer
Oracle query optimizer
 
UNIT3 DBMS.pptx operation nd management of data base
UNIT3 DBMS.pptx operation nd management of data baseUNIT3 DBMS.pptx operation nd management of data base
UNIT3 DBMS.pptx operation nd management of data base
 
Development Guideline
Development GuidelineDevelopment Guideline
Development Guideline
 
Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
 
Overview of query evaluation
Overview of query evaluationOverview of query evaluation
Overview of query evaluation
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
dd presentation.pdf
dd presentation.pdfdd presentation.pdf
dd presentation.pdf
 
Query handlingbytheserver
Query handlingbytheserverQuery handlingbytheserver
Query handlingbytheserver
 
DS M1 full - KQB KtuQbank.pdf
DS M1 full - KQB KtuQbank.pdfDS M1 full - KQB KtuQbank.pdf
DS M1 full - KQB KtuQbank.pdf
 

Mais de Ravinder Kamboj

Mais de Ravinder Kamboj (10)

Data warehouse,data mining & Big Data
Data warehouse,data mining & Big DataData warehouse,data mining & Big Data
Data warehouse,data mining & Big Data
 
DDBMS
DDBMSDDBMS
DDBMS
 
Architecture of dbms(lecture 3)
Architecture of dbms(lecture 3)Architecture of dbms(lecture 3)
Architecture of dbms(lecture 3)
 
Sql fundamentals
Sql fundamentalsSql fundamentals
Sql fundamentals
 
Java script
Java scriptJava script
Java script
 
File Management
File ManagementFile Management
File Management
 
HTML Forms
HTML FormsHTML Forms
HTML Forms
 
DHTML
DHTMLDHTML
DHTML
 
CSA lecture-1
CSA lecture-1CSA lecture-1
CSA lecture-1
 
Relational database management system (rdbms) i
Relational database management system (rdbms) iRelational database management system (rdbms) i
Relational database management system (rdbms) i
 

Último

How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 

Último (20)

How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 

Query processing and optimization (updated)

  • 2. Introduction • In this chapter we shall discuss the techniques used by a DBMS to process, optimize and execute high-level queries. • The techniques used to split complex queries into multiple simple operations and methods of implementing these low-level operations. • The query optimization techniques are used to chose an efficient execution plan that will minimize the runtime as well as many other types of resources such as number of disk I/O, CPU time and so on.
  • 3. Query Processing • Query Processing is a procedure of transforming a high-level query (such as SQL) into a correct and efficient execution plan expressed in low-level language. • When a database system receives a query for update or retrieval of information, it goes through a series of compilation steps, called execution plan. • Query processing goes through various phases: • first phase is called syntax checking phase, the system parses the query and checks that it follows the syntax rules or not. • It then matches the objects in the query syntax with the view tables and columns listed in the system table.
  • 4. • In second phase the SQL query is translated in to an algebraic expression using various rules. • So that the process of transforming a high-level SQL query into a relational algebraic form is called Query Decomposition. • The relational algebraic expression now passes to the query optimizer. • In third phase optimization is performed by substituting equivalent expression depends on the factors such that the existence of certain database structures, whether or not a given file is stored, the presence of different indexes & so on. • Query optimization module work in tandem with the join manager module to improve the order in which joins are performed.
  • 5. • At this stage the cost model and several other estimation formulas are used to rewrite the query. • The modified query is written to utilize system resources so as to bring the optimal performance. • The query optimizer then generates an action plan also called a execution plan. • This action plans are converted into a query codes that are finally executed by a run time database processor. • The run time database processor estimate the cost of each action plan and chose the optimal one for the execution.
  • 6. Query Analyzer • The syntax analyzer takes the query from the users, parses it into tokens and analyses the tokens and their order to make sure they follow the rules of the language grammar. • Is an error is found in the query submitted by the user, it is rejected and an error code together with an explanation of why the query was rejected is return to the user.
  • 7. Query Decomposition • In query decomposition the query processing aims are to transfer the high-level query into a relational algebra query and to check whether that query is syntactically and semantically correct. • Thus the query decomposition is start with a high-level query and transform into query graph of low-level operations, which satisfy the query. • The SQL query is decomposed into query blocks (low-level operations), which form the basic unit. • Hence nested queries within a query are identified as separate query blocks. • The query decomposer goes through five stages of processing for decomposition into low-level operation and translation into algebraic expressions.
  • 8.
  • 9. Query Analysis • During the query analysis phase, the query is syntactically analyzed using the programming language compiler (parser). • A syntactically legal query is then validated, using the system catalog, to ensure that all data objects (relations and attributes) referred to by the query are defined in the database. • The type specification of the query qualifiers and result is also checked at this stage.
  • 10. • Example: SELECT emp_nm FROM EMPLOYEE WHERE emp_desg>100 This query will be rejected because the comparison “>100” is incompatible with the data type of emp_desg which is a variable character string. • At the end of query analysis phase, the high-level query (SQL) is transformed into some internal representation that is more suitable for processing. • This internal representation is typically a kind of query tree.
  • 11. • A Query Tree is a tree data structure that corresponds expression. • A Query Tree is also called a relational algebra tree. – Leaf node of the tree, representing the base input relations of the query. – Internal nodes result of applying an operation in the algebra. – Root of the tree representing a result of the query.
  • 12. • SELECT (P.proj_no, P.dept_no, E.name, E.add, E.dob) • FROM PROJECT P, DEPARTMENT D, EMPLOYEE E • WHERE P.dept_no = D.d_no AND D.mgr_id = E.emp_id AND P.proj_loc = ‘Mumbai’ ;
  • 13.
  • 14. • The three relations PROJECT, DEPARTMENT, EMPLOYEE are represent as a leaf nodes P, D and E, while the relational algebra operations of the represented by internal tree nodes. • Same SQL query can have man different relational algebra expressions and hence many different query trees. • The query parser typically generates a standard initial (canonical) query tree.
  • 15. Query Normalization • The primary phase of the normalization is to avoid redundancy. • The normalization phase converts the query into a normalized form that can be more easily manipulated. • In the normalization phase, a set of equivalency rules are applied so that the projection and selection operations included on the query are simplified to avoid redundancy. • The projection operation corresponds to the SELECT clause of SQL query and the selection operation correspond to the predicate found in WHERE clause. • The equivalency transformation rules that are applied.
  • 16. Semantic Analyzer • The objective of this phase of query processing is to reduce the number of predicates. • The semantic analyzer rejects the normalized queries that are incorrectly formulated. • A query is incorrectly formulated if components do not contribute to the generation of result. • This happens in case of missing join specification. • A query is contradictory if its predicate cannot satisfy by any tuple in the relation. • The semantic analyzer examine the relational calculus query (SQL) to make sure it contains only data objects that is table, columns, views, indexes that are defined in the database catalog. • It makes sure that each object in the query is referenced correctly according to its data type. • In case of missing join specifications the components do not contribute to the generation of the results, and thus, a query may be incorrect formulated.
  • 17. Query Simplifier • The objectives of this phase are to detect redundant qualification, eliminate common sub-expressions and transform sub-graph to semantically equivalent but more easy and efficiently computed form. • Why to simplify? – Commonly integrity constraints, view definitions and access restrictions are introduced into the graph at this stage of analysis so that the query must be simplified as much as possible. – Integrity constraints defines constants which must holds for all state of database, so any query that contradict an integrity constraints must be avoid and can be rejected without accessing the database.
  • 18. Query Restructuring • In the final stage of the query decomposition, the query can be restructured to give a more efficient implementation. • Transformation rules are used to convert one relational algebra expression into an equivalent form that is more efficient. • The query can now be regarded as a relational algebra program, consisting of a series of operations on relation.
  • 19. Query Optimization • The primary goal of query optimization is of choosing an efficient execution strategy for processing a query. • The query optimizer attempts to minimize the use of certain resources (mainly the number of I/O and CPU time) by selecting a best execution plan (access plan). • A query optimization start during the validation phase by the system to validate the user has appropriate privileges. • Now an action plan is generate to perform the query.
  • 20. Block Diagram of Query Optimization
  • 21. • Relational algebra query tree generated by the query simplifier module of query decomposer. • Estimation formulas used to determine the cardinality of the intermediate result table. • A cost Model. • Statistical data from the database catalogue. The output of the query optimizer is the execution plan in form of optimized relational algebra query. A query typically has many possible execution strategies, and the process of choosing a suitable one for processing a query is known as Query Optimization.
  • 22. The basic issues in Query Optimization • How to use available indexes? • How to use memory to accumulate information and perform immediate steps such as sorting? • How to determine the order in which joins should be performed?
  • 23. Objective of query optimization • The term query optimization does not mean giving always an optimal (best) strategy as the execution plan. • It is just a responsibly efficient strategy for execution of the query. • The decomposed query block of SQL is translating into an equivalent extended relational algebra expression and then optimized.
  • 24. Techniques for Query Optimization • The first technique is based on Heuristic Rules for ordering the operations in a query execution strategy. • The second technique involves the systematic estimation of the cost of the different execution strategies and choosing the execution plan with the lowest cost.
  • 25. • Semantic query optimization is used with the combination with the heuristic query transformation rules. • It 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.
  • 26. Heuristic Rules • The heuristic rules are used as an optimization technique to modify the internal representation of query. • Usually, heuristic rules are used in the form of query tree of query graph data structure, to improve its performance. • One of the main heuristic rule is to apply SELECT operation before applying the JOIN or other BINARY operations. • This is because the size of the file resulting from a binary operation such as JOIN is usually a multi- value function of the sizes of the input files.
  • 27. Heuristic Rules • The SELECT and PROJECT reduced the size of the file and hence, should be applied before the JOIN or other binary operation. • Heuristic query optimizer transforms the initial (canonical) query tree into final query tree using equivalence transformation rules. • This final query tree is efficient to execute.
  • 28. General Transformation Rules • Cascade of σ :- • σ c1 AND c2 AND …AND cn (R) = σ c1 (σ c2 (…(σ cn (R))…)) • Commutativity of σ :- • σ C1 (σ C2 (R)) = σ C2 (σ C1 (R)) Cascade of Л :- • Л List1 (Л List2 (…(Л List n (R))…)) = Л List1 (R) • Commuting σ with Л :- • Л A1,A2,A3…An (σ C (R) ) = σ C (Л A1,A2,A3…An (R))
  • 29. General Transformation Rules Commutativity of ⋈ AND x :- R ⋈ c S = S ⋈ c R R x S = S x R • Commuting σ with ⋈ or x :- If all attributes in selection condition c involved only attributes of one of the relation schemas (R). σ c (R ⋈ S) = (σ c (R) ) ⋈ S Alternatively, selection condition c can be written as (c1 AND c2) where condition c1 involves only attributes of R and condition c2 involves only attributes of S then : σ c (R ⋈ S) = (σ c1 (R) ) ⋈ (σ c2 (S) ) • Commuting Л with ⋈ or x :- The projection list L = {A1,A2,..An,B1,B2,…Bm}. A1…An attributes of R and B1…Bm attributes of S. Join condition C involves only attributes in L then : ЛL ( R ⋈ c S ) = ( ЛA1,…An (R) ) ⋈c ( ЛB1,…Bm(S) )
  • 30. General Transformation Rules • Commutative of SET Operation :- R ⋃ S = S ⋃ R R ⋂ S = S ⋂ R Minus (R-S) is not commutative. • Associatively of ⋈, x, ⋂, and ⋃ :- If ∅ stands for any one of these operation throughout the expression then : (R ∅ S) ∅ T = R ∅ (S ∅ T) • Commutativity of σ with SET Operation :- If ∅ stands for any one of three operations (⋃,⋂,and-) then : σ c (R ∅ S) = (σ c (R)) ⋃ (σ c (S)) Л c (R ∅ S) = (Л c (R)) ⋃ (Лc (S)) • The Л operation comute with ⋃ :- Л L (R ⋃ S) = (Л L(R)) ⋃ (Л L(S)) • Converting a (σ,x) sequence with ⋃ (σ c (R x S)) = (R ⋈ c S)