SlideShare a Scribd company logo
1 of 15
Download to read offline
Measures of Query Cost
Prof. Hitesh Mohapatra
Query Cost
In DBMS, the cost involved in executing a query
can be measured by considering the number of
different resources that are listed below;
• The number of disk accesses / the number of
disk block transfers / the size of the table.
• Time taken by CPU for executing the query
The time taken by CPU is negligible in most systems when compared with
the number of disk accesses.
Cont..
If we consider the number of block transfers as the main component in
calculating the cost of a query, it would include more sub-components. Those
are;
• Rotational latency – time taken to bring and spin the required data under
the read-write head of the disk.
• Seek time – time taken to position the read-write head over the required
track or cylinder.
• Sequential I/O – reading data that are stored in contiguous blocks of the
disk
• Random I/O – reading data that are stored in different blocks that are not
contiguous.
That is, the blocks might be stored in different tracks, or different cylinders,
etc. Whether read/write? – read takes less time, write takes more.
Cont..
From these sub-components, we would list the components of a more
accurate measure as follows;
• The number of seek operations performed
• The number of block read
• The number of blocks written
To get the final result, these numbers to be multiplied by the average time
required to complete the task. Hence, it can be written as follows;
Query cost = (number of seek operations X average seek time) +
(number of blocks read X average transfer time for reading a block) +
(number of blocks written X average transfer time for writing a block)
Here, CPU cost and few other costs like cost of writing the final result are omitted.
Scenario: Homework
Suppose the disk has an average block access time
of ts seconds and takes an average of tT seconds to
transfer x data blocks.
The block access time is the sum of disk seeks time
and rotational latency. It performs S seeks than the
time taken will be b × tT + S × tS seconds. If tT = 0.1
ms, tS =4 ms, the block size is 4 KB, and its transfer
rate is 40 MB per second.
With this, we can easily calculate the estimated cost
of the given query evaluation plan.
Cont..
Generally, for estimating the cost, we consider the worst case
that could happen. The users assume that initially, the data is
read from the disk only. But there must be a chance that the
information is already present in the main memory. However,
the users usually ignore this effect, and due to this, the actual
cost of execution comes out less than the estimated value.
The response time, i.e., the time required to execute the plan,
could be used for estimating the cost of the query evaluation
plan. But due to the following reasons, it becomes difficult to
calculate the response time without actually executing the
query evaluation plan:
• When the query begins its execution, the response time
becomes dependent on the contents stored in the buffer. But
this information is difficult to retrieve when the query is in
optimized mode, or it is not available also.
• When a system with multiple disks is present, the response
time depends on an interrogation that in "what way accesses
are distributed among the disks?". It is difficult to estimate
without having detailed knowledge of the data layout present
over the disk.
• Consequently, instead of minimizing the response time for any
query evaluation plan, the optimizers finds it better to reduce
the total resource consumption of the query plan. Thus to
estimate the cost of a query evaluation plan, it is good to
minimize the resources used for accessing the disk or use of
the extra resources.
Query Processing in DBMS
Query Processing is the activity performed in
extracting data from the database. In query
processing, it takes various steps for fetching the
data from the database. The steps involved are:
• Parsing and translation
• Optimization
• Evaluation
Cont..
Parsing and translation
• As query processing includes certain activities for data
retrieval. Initially, the given user queries get translated
in high-level database languages such as SQL.
• It gets translated into expressions that can be further
used at the physical level of the file system.
• After this, the actual evaluation of the queries and a
variety of query -optimizing transformations and takes
place.
• Thus before processing a query, a computer system
needs to translate the query into a human-readable
and understandable language.
Cont..
• Consequently, SQL or Structured Query Language is the best
suitable choice for humans. But, it is not perfectly suitable for the
internal representation of the query to the system.
• Relational algebra is well suited for the internal representation of a
query. The translation process in query processing is similar to the
parser of a query.
• When a user executes any query, for generating the internal form of
the query, the parser in the system checks the syntax of the query,
verifies the name of the relation in the database, the tuple, and
finally the required attribute value.
• The parser creates a tree of the query, known as 'parse-tree.'
Further, translate it into the form of relational algebra. With this, it
evenly replaces all the use of the views when used in the query.
Cont..
• Suppose a user executes a query. As we have learned that there are
various methods of extracting the data from the database. In SQL, a
user wants to fetch the records of the employees whose salary is
greater than or equal to 10000. For doing this, the following query is
undertaken:
• select emp_name from Employee where salary>10000;
• Thus, to make the system understand the user query, it needs to be
translated in the form of relational algebra. We can bring this query in
the relational algebra form as:
• σsalary>10000 (πsalary (Employee))
• πsalary (σsalary>10000 (Employee))
• After translating the given query, we can execute each relational
algebra operation by using different algorithms. So, in this way, a
query processing begins its working.
Evaluation
For this, with addition to the relational algebra translation, it is required
to annotate the translated relational algebra expression with the
instructions used for specifying and evaluating each operation. Thus,
after translating the user query, the system executes a query evaluation
plan.
• In order to fully evaluate a query, the system needs to construct a
query evaluation plan.
• The annotations in the evaluation plan may refer to the algorithms to
be used for the particular index or the specific operations.
• Such relational algebra with annotations is referred to as Evaluation
Primitives. The evaluation primitives carry the instructions needed
for the evaluation of the operation.
• Thus, a query evaluation plan defines a sequence of primitive
operations used for evaluating a query. The query evaluation plan is
also referred to as the query execution plan.
• A query execution engine is responsible for generating the output of
the given query. It takes the query execution plan, executes it, and
finally makes the output for the user query.
Optimization
• The cost of the query evaluation can vary for different types
of queries. Although the system is responsible for
constructing the evaluation plan, the user does need not to
write their query efficiently.
• Usually, a database system generates an efficient query
evaluation plan, which minimizes its cost. This type of task
performed by the database system and is known as Query
Optimization.
• For optimizing a query, the query optimizer should have an
estimated cost analysis of each operation. It is because the
overall operation cost depends on the memory allocations
to several operations, execution costs, and so on.
Measures of query cost

More Related Content

What's hot

Chapter 6 relational data model and relational
Chapter  6  relational data model and relationalChapter  6  relational data model and relational
Chapter 6 relational data model and relational
Jafar Nesargi
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMS
koolkampus
 
8 query processing and optimization
8 query processing and optimization8 query processing and optimization
8 query processing and optimization
Kumar
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Mahesh Bhalerao
 

What's hot (20)

Shadow paging
Shadow pagingShadow paging
Shadow paging
 
Chapter 6 relational data model and relational
Chapter  6  relational data model and relationalChapter  6  relational data model and relational
Chapter 6 relational data model and relational
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMS
 
Relational model
Relational modelRelational model
Relational model
 
Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)
 
contiguous memory allocation.pptx
contiguous memory allocation.pptxcontiguous memory allocation.pptx
contiguous memory allocation.pptx
 
Amortized Analysis of Algorithms
Amortized Analysis of Algorithms Amortized Analysis of Algorithms
Amortized Analysis of Algorithms
 
8 query processing and optimization
8 query processing and optimization8 query processing and optimization
8 query processing and optimization
 
Data mining and data warehouse lab manual updated
Data mining and data warehouse lab manual updatedData mining and data warehouse lab manual updated
Data mining and data warehouse lab manual updated
 
Query processing and Query Optimization
Query processing and Query OptimizationQuery processing and Query Optimization
Query processing and Query Optimization
 
Integrity Constraints
Integrity ConstraintsIntegrity Constraints
Integrity Constraints
 
Database abstraction
Database abstractionDatabase abstraction
Database abstraction
 
Concurrency Control in Distributed Database.
Concurrency Control in Distributed Database.Concurrency Control in Distributed Database.
Concurrency Control in Distributed Database.
 
SQL Views
SQL ViewsSQL Views
SQL Views
 
Disk scheduling
Disk schedulingDisk scheduling
Disk scheduling
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
 
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
 
Relational Calculus
Relational CalculusRelational Calculus
Relational Calculus
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Daa notes 3
Daa notes 3Daa notes 3
Daa notes 3
 

Similar to Measures of query cost

LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptxLECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
AthosBeatus
 
Overview of query evaluation
Overview of query evaluationOverview of query evaluation
Overview of query evaluation
avniS
 

Similar to Measures of query cost (20)

Query optimization
Query optimizationQuery optimization
Query optimization
 
Average Active Sessions - OaktableWorld 2013
Average Active Sessions - OaktableWorld 2013Average Active Sessions - OaktableWorld 2013
Average Active Sessions - OaktableWorld 2013
 
DB
DBDB
DB
 
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
 
LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptxLECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
LECTURE_06_DATABASE PROCESSING & OPTIMAZATION.pptx
 
Overview of query evaluation
Overview of query evaluationOverview of query evaluation
Overview of query evaluation
 
Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101
 
Average Active Sessions RMOUG2007
Average Active Sessions RMOUG2007Average Active Sessions RMOUG2007
Average Active Sessions RMOUG2007
 
Data structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdfData structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdf
 
Cs 331 Data Structures
Cs 331 Data StructuresCs 331 Data Structures
Cs 331 Data Structures
 
Lecture 5.pptx
Lecture 5.pptxLecture 5.pptx
Lecture 5.pptx
 
Operating system memory management
Operating system memory managementOperating system memory management
Operating system memory management
 
Limitations of memory system performance
Limitations of memory system performanceLimitations of memory system performance
Limitations of memory system performance
 
Collaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR ReportCollaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR Report
 
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
 
Query optimization
Query optimizationQuery optimization
Query optimization
 
Real Time Kernels and Operating Systems.pptx
Real Time Kernels and Operating Systems.pptxReal Time Kernels and Operating Systems.pptx
Real Time Kernels and Operating Systems.pptx
 
Mc seminar
Mc seminarMc seminar
Mc seminar
 
Mapping Data Flows Perf Tuning April 2021
Mapping Data Flows Perf Tuning April 2021Mapping Data Flows Perf Tuning April 2021
Mapping Data Flows Perf Tuning April 2021
 
Query processing
Query processingQuery processing
Query processing
 

More from Hitesh Mohapatra

Harnessing the Power of Google Cloud Platform: Strategies and Applications
Harnessing the Power of Google Cloud Platform: Strategies and ApplicationsHarnessing the Power of Google Cloud Platform: Strategies and Applications
Harnessing the Power of Google Cloud Platform: Strategies and Applications
Hitesh Mohapatra
 

More from Hitesh Mohapatra (20)

Virtualization: A Key to Efficient Cloud Computing
Virtualization: A Key to Efficient Cloud ComputingVirtualization: A Key to Efficient Cloud Computing
Virtualization: A Key to Efficient Cloud Computing
 
Automating the Cloud: A Deep Dive into Virtual Machine Provisioning
Automating the Cloud: A Deep Dive into Virtual Machine ProvisioningAutomating the Cloud: A Deep Dive into Virtual Machine Provisioning
Automating the Cloud: A Deep Dive into Virtual Machine Provisioning
 
Harnessing the Power of Google Cloud Platform: Strategies and Applications
Harnessing the Power of Google Cloud Platform: Strategies and ApplicationsHarnessing the Power of Google Cloud Platform: Strategies and Applications
Harnessing the Power of Google Cloud Platform: Strategies and Applications
 
Scheduling in Cloud Computing
Scheduling in Cloud ComputingScheduling in Cloud Computing
Scheduling in Cloud Computing
 
Cloud-Case study
Cloud-Case study Cloud-Case study
Cloud-Case study
 
RAID
RAIDRAID
RAID
 
Load balancing in cloud computing.pptx
Load balancing in cloud computing.pptxLoad balancing in cloud computing.pptx
Load balancing in cloud computing.pptx
 
Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
 
ITU-T requirement for cloud and cloud deployment model
ITU-T requirement for cloud and cloud deployment modelITU-T requirement for cloud and cloud deployment model
ITU-T requirement for cloud and cloud deployment model
 
Leetcode Problem Solution
Leetcode Problem SolutionLeetcode Problem Solution
Leetcode Problem Solution
 
Leetcode Problem Solution
Leetcode Problem SolutionLeetcode Problem Solution
Leetcode Problem Solution
 
Trie Data Structure
Trie Data Structure Trie Data Structure
Trie Data Structure
 
Reviewing basic concepts of relational database
Reviewing basic concepts of relational databaseReviewing basic concepts of relational database
Reviewing basic concepts of relational database
 
Reviewing SQL Concepts
Reviewing SQL ConceptsReviewing SQL Concepts
Reviewing SQL Concepts
 
Advanced database protocols
Advanced database protocolsAdvanced database protocols
Advanced database protocols
 
Involvement of WSN in Smart Cities
Involvement of WSN in Smart CitiesInvolvement of WSN in Smart Cities
Involvement of WSN in Smart Cities
 
Data Structure and its Fundamentals
Data Structure and its FundamentalsData Structure and its Fundamentals
Data Structure and its Fundamentals
 
WORKING WITH FILE AND PIPELINE PARAMETER BINDING
WORKING WITH FILE AND PIPELINE PARAMETER BINDINGWORKING WITH FILE AND PIPELINE PARAMETER BINDING
WORKING WITH FILE AND PIPELINE PARAMETER BINDING
 
Basic commands for powershell : Configuring Windows PowerShell and working wi...
Basic commands for powershell : Configuring Windows PowerShell and working wi...Basic commands for powershell : Configuring Windows PowerShell and working wi...
Basic commands for powershell : Configuring Windows PowerShell and working wi...
 
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISEWINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
 

Recently uploaded

Artificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdfArtificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdf
Kira Dess
 
Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..
MaherOthman7
 

Recently uploaded (20)

Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 
engineering chemistry power point presentation
engineering chemistry  power point presentationengineering chemistry  power point presentation
engineering chemistry power point presentation
 
Working Principle of Echo Sounder and Doppler Effect.pdf
Working Principle of Echo Sounder and Doppler Effect.pdfWorking Principle of Echo Sounder and Doppler Effect.pdf
Working Principle of Echo Sounder and Doppler Effect.pdf
 
15-Minute City: A Completely New Horizon
15-Minute City: A Completely New Horizon15-Minute City: A Completely New Horizon
15-Minute City: A Completely New Horizon
 
5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility Applications
 
Basics of Relay for Engineering Students
Basics of Relay for Engineering StudentsBasics of Relay for Engineering Students
Basics of Relay for Engineering Students
 
21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded Systems
 
Adsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptAdsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) ppt
 
CLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalCLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference Modal
 
Artificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdfArtificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdf
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdf
 
Artificial Intelligence in due diligence
Artificial Intelligence in due diligenceArtificial Intelligence in due diligence
Artificial Intelligence in due diligence
 
Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptx
 
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas SachpazisSeismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
 
Worksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxWorksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptx
 
Dynamo Scripts for Task IDs and Space Naming.pptx
Dynamo Scripts for Task IDs and Space Naming.pptxDynamo Scripts for Task IDs and Space Naming.pptx
Dynamo Scripts for Task IDs and Space Naming.pptx
 
Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..
 

Measures of query cost

  • 1. Measures of Query Cost Prof. Hitesh Mohapatra
  • 2. Query Cost In DBMS, the cost involved in executing a query can be measured by considering the number of different resources that are listed below; • The number of disk accesses / the number of disk block transfers / the size of the table. • Time taken by CPU for executing the query The time taken by CPU is negligible in most systems when compared with the number of disk accesses.
  • 3. Cont.. If we consider the number of block transfers as the main component in calculating the cost of a query, it would include more sub-components. Those are; • Rotational latency – time taken to bring and spin the required data under the read-write head of the disk. • Seek time – time taken to position the read-write head over the required track or cylinder. • Sequential I/O – reading data that are stored in contiguous blocks of the disk • Random I/O – reading data that are stored in different blocks that are not contiguous. That is, the blocks might be stored in different tracks, or different cylinders, etc. Whether read/write? – read takes less time, write takes more.
  • 4. Cont.. From these sub-components, we would list the components of a more accurate measure as follows; • The number of seek operations performed • The number of block read • The number of blocks written To get the final result, these numbers to be multiplied by the average time required to complete the task. Hence, it can be written as follows; Query cost = (number of seek operations X average seek time) + (number of blocks read X average transfer time for reading a block) + (number of blocks written X average transfer time for writing a block) Here, CPU cost and few other costs like cost of writing the final result are omitted.
  • 5. Scenario: Homework Suppose the disk has an average block access time of ts seconds and takes an average of tT seconds to transfer x data blocks. The block access time is the sum of disk seeks time and rotational latency. It performs S seeks than the time taken will be b × tT + S × tS seconds. If tT = 0.1 ms, tS =4 ms, the block size is 4 KB, and its transfer rate is 40 MB per second. With this, we can easily calculate the estimated cost of the given query evaluation plan.
  • 6. Cont.. Generally, for estimating the cost, we consider the worst case that could happen. The users assume that initially, the data is read from the disk only. But there must be a chance that the information is already present in the main memory. However, the users usually ignore this effect, and due to this, the actual cost of execution comes out less than the estimated value. The response time, i.e., the time required to execute the plan, could be used for estimating the cost of the query evaluation plan. But due to the following reasons, it becomes difficult to calculate the response time without actually executing the query evaluation plan:
  • 7. • When the query begins its execution, the response time becomes dependent on the contents stored in the buffer. But this information is difficult to retrieve when the query is in optimized mode, or it is not available also. • When a system with multiple disks is present, the response time depends on an interrogation that in "what way accesses are distributed among the disks?". It is difficult to estimate without having detailed knowledge of the data layout present over the disk. • Consequently, instead of minimizing the response time for any query evaluation plan, the optimizers finds it better to reduce the total resource consumption of the query plan. Thus to estimate the cost of a query evaluation plan, it is good to minimize the resources used for accessing the disk or use of the extra resources.
  • 8. Query Processing in DBMS Query Processing is the activity performed in extracting data from the database. In query processing, it takes various steps for fetching the data from the database. The steps involved are: • Parsing and translation • Optimization • Evaluation
  • 10. Parsing and translation • As query processing includes certain activities for data retrieval. Initially, the given user queries get translated in high-level database languages such as SQL. • It gets translated into expressions that can be further used at the physical level of the file system. • After this, the actual evaluation of the queries and a variety of query -optimizing transformations and takes place. • Thus before processing a query, a computer system needs to translate the query into a human-readable and understandable language.
  • 11. Cont.. • Consequently, SQL or Structured Query Language is the best suitable choice for humans. But, it is not perfectly suitable for the internal representation of the query to the system. • Relational algebra is well suited for the internal representation of a query. The translation process in query processing is similar to the parser of a query. • When a user executes any query, for generating the internal form of the query, the parser in the system checks the syntax of the query, verifies the name of the relation in the database, the tuple, and finally the required attribute value. • The parser creates a tree of the query, known as 'parse-tree.' Further, translate it into the form of relational algebra. With this, it evenly replaces all the use of the views when used in the query.
  • 12. Cont.. • Suppose a user executes a query. As we have learned that there are various methods of extracting the data from the database. In SQL, a user wants to fetch the records of the employees whose salary is greater than or equal to 10000. For doing this, the following query is undertaken: • select emp_name from Employee where salary>10000; • Thus, to make the system understand the user query, it needs to be translated in the form of relational algebra. We can bring this query in the relational algebra form as: • σsalary>10000 (πsalary (Employee)) • πsalary (σsalary>10000 (Employee)) • After translating the given query, we can execute each relational algebra operation by using different algorithms. So, in this way, a query processing begins its working.
  • 13. Evaluation For this, with addition to the relational algebra translation, it is required to annotate the translated relational algebra expression with the instructions used for specifying and evaluating each operation. Thus, after translating the user query, the system executes a query evaluation plan. • In order to fully evaluate a query, the system needs to construct a query evaluation plan. • The annotations in the evaluation plan may refer to the algorithms to be used for the particular index or the specific operations. • Such relational algebra with annotations is referred to as Evaluation Primitives. The evaluation primitives carry the instructions needed for the evaluation of the operation. • Thus, a query evaluation plan defines a sequence of primitive operations used for evaluating a query. The query evaluation plan is also referred to as the query execution plan. • A query execution engine is responsible for generating the output of the given query. It takes the query execution plan, executes it, and finally makes the output for the user query.
  • 14. Optimization • The cost of the query evaluation can vary for different types of queries. Although the system is responsible for constructing the evaluation plan, the user does need not to write their query efficiently. • Usually, a database system generates an efficient query evaluation plan, which minimizes its cost. This type of task performed by the database system and is known as Query Optimization. • For optimizing a query, the query optimizer should have an estimated cost analysis of each operation. It is because the overall operation cost depends on the memory allocations to several operations, execution costs, and so on.