SlideShare a Scribd company logo
Physical Database Design
and Tuning
Copyright © 2004 Pearson Education, Inc.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-2
Chapter Outline
1. Physical Database Design in Relational Databases
2. An Overview of Database Tuning in Relational
Systems.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-3
1. Physical Database Design in Relational
Databases
Factors that Influence Physical Database Design:
A. Analyzing the database queries and transactions
For each query, the following information is needed.
1) The files that will be accessed by the query;
2) Whether the selection condition is an equality,inequality,
or a range condition.
3) The attributes on which any join conditions or conditions
to link multiple tables or objects for the query are
specified;
4) The attributes whose values will be retrieved by the query.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-4
Factors that Influence Physical Database Design (cont.)
A. Analyzing the database queries and transactions (cont.)
For each update transaction or operation, the following
information is needed.
1) The files that will be updated;
2) The type of operation on each file (insert, update or delete);
3) The attributes on which selection conditions for a delete or
update operation are specified;
4) The attributes whose values will be changed by an update
operation.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-5
Factors that Influence Physical Database Design (cont.)
B. Analyzing the expected frequency of invocation of queries and
transactions
– The expected frequency information, along with the attribute
information collected on each query and transaction, is used to
compile a cumulative list of expected frequency of use for all
the queries and transactions.
– It is expressed as the expected frequency of using each
attribute in each file as a selection attribute or join attribute,
over all the queries and transactions.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-6
Factors that Influence Physical Database Design (cont.)
C. Analyzing the time constraints of queries and transactions
– Performance constraints place further priorities on the attributes that are
candidates for access paths.
– The selection attributes used by queries and transactions with time constraints
become higher-priority candidates for primary access structure.
D. Analyzing the expected frequencies of update operations
A minimum number of access paths should be specified for a file that is updated
frequently.
E. Analyzing the uniqueness constraints on attributes.
Access paths should be specified on all candidate key attributes — or set of attributes
— that are either the primary key or constrained to be unique.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-7
 Design decisions about indexing
1. Whether to index an attribute?
2. What attribute or attributes to index on?
3. Whether to set up a clustered index?
4. Whether to use a hash index over a tree index?
5. Whether to use dynamic hashing for the file?
Physical Database Design Decisions
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-8
Physical Database Design Decisions
 Denormalization as a design decision for speeding up
queries
– The goal of normalization is to separate the logically related
attributes into tables to minimize redundancy and thereby
avoid the update anomalies that cause an extra processing
overhead to maintain consistency of the database.
– The goal of denormalization is to improve the performance
of frequently occurring queries and transactions. (Typically
the designer adds to a table attributes that are needed for
answering queries or producing reports so that a join with
another table is avoided.)
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-9
2. An Overview of Database Tuning in
Relational Systems
 Tuning: the process of continuing to revise/adjust the
physical database design by monitoring resource utilization as
well as internal DBMS processing to reveal bottlenecks such
as contention for the same data or devices.
 Goal:
– To make application run faster
– To lower the response time of queries/transactions
– To improve the overall throughput of transactions
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-10
Statistics internally
collected in DBMSs:
 Size of individual tables
 Number of distinct values in a
column
 The number of times a particular
query or transaction is
submitted/executed in an interval
of time
 The times required for different
phases of query and transaction
processing
Statistics obtained from
monitoring:
 Storage statistics
 I/O and device performance
statistics
 Query/transaction processing
statistics
 Locking/logging related
statistics
 Index statistics
A brief overview of the tuning process
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-11
Problems to be considered in tuning:
Problems to be considered in tuning:
 How to minimize overhead of logging and
unnecessary dumping of data?
 How to optimize buffer size and scheduling of
processes?
 How to allocate resources such as disks, RAM and
processes for most efficient utilization?
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-12
 Reasons to tuning indexes
– Certain queries may take too long to run for lack of an index;
– Certain indexes may not get utilized at all;
– Certain indexes may be causing excessive overhead because the index
is on an attribute that undergoes frequent changes
 Options to tuning indexes
– Drop or/and build new indexes
– Change a non-clustered index to a clustered index (and vice versa)
– Rebuilding the index
Tuning Indexes
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-13
Tuning the Database Design
 Dynamically changed processing requirements
need to be addressed by making changes to the
conceptual schema if necessary and to reflect those
changes into the logical schema and physical design.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-14
Tuning the Database Design (cont.)
 Possible changes to the database design
– Existing tables may be joined (denormalized) because certain
attributes from two or more tables are frequently needed together.
– For the given set of tables, there may be alternative design choices, all
of which achieve 3NF or BCNF. One may be replaced by the other.
– A relation of the form R(K, A, B, C, D, …) that is in BCNF can be
stored into multiple tables that are also in BCNF by replicating the key
K in each table.this is called vertical partitioning
– Attribute(s) from one table may be repeated in another even though
this creates redundancy and potential anomalies.
– Apply horizontal partitioning as well as vertical partitioning if
necessary.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-15
Tuning Queries
 Indications for tuning queries
– A query issues too many disk accesses
– The query plan shows that relevant indexes are not being
used.
 Typical instances for query tuning
1. Many query optimizers do not use indexes in the presence
of arithmetic expressions, numerical comparisons of
attributes of different sizes and precision, NULL
comparisons, and sub-string comparisons.
2. Indexes are often not used for nested queries using IN;
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-16
Tuning Queries (cont.)
 Typical instances for query tuning (cont.)
3. Some DISTINCTs may be redundant and can be avoided
without changing the result.
4. Unnecessary use of temporary result tables can be avoided
by collapsing multiple queries into a single query unless
the temporary relation is needed for some intermediate
processing.
5. In some situations involving using of correlated queries,
temporaries are useful.
6. If multiple options for join condition are possible, choose
one that uses a clustering index and avoid those that
contain string comparisons.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-17
Tuning Queries (cont.)
 Typical instances for query tuning (cont.)
7. The order of tables in the FROM clause may affect the join
processing.
8. Many applications are based on views that define the data
of interest to those applications. Sometimes these views
become an overkill.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-18
Additional Query Tuning Guidelines
1. A query with multiple selection conditions that are connected
via OR may not be prompting the query optimizer to use any
index. Such a query may be split up and expressed as a union
of queries, each with a condition on an attribute that causes an
index to be used.
2. Apply the following transformations
– NOT condition may be transformed into a positive expression.
– Embedded SELECT blocks may be replaced by joins.
– If an equality join is set up between two tables, the range predicate on
the joining attribute set up in one table may be repeated for the other
table
3. WHERE conditions may be rewritten to utilize the indexes on
multiple columns.

More Related Content

PPT
lec_7 cyber security in information .ppt
PPT
Topic 2 Practical Database Design and Tuning 5th.ppt
PPT
PDBD- Part2 physical database design.ppt
PPTX
Physical Database Design Database Engineering.pptx
PPT
PPT
Chapter16
PDF
IRJET- Physical Database Design Techniques to improve Database Performance
PPT
Ch 7 Physical D B Design
lec_7 cyber security in information .ppt
Topic 2 Practical Database Design and Tuning 5th.ppt
PDBD- Part2 physical database design.ppt
Physical Database Design Database Engineering.pptx
Chapter16
IRJET- Physical Database Design Techniques to improve Database Performance
Ch 7 Physical D B Design

Similar to physical database design distributed .ppt (20)

PPT
Unit 9 Database Design using ORACLE and SQL.PPT
PPT
AutoAdmin Survey
PPT
Data Indexing Presentation-My.pptppt.ppt
PPT
The Database Environment Chapter 6
PPT
Performance Tuning And Optimization Microsoft SQL Database
PDF
Physical Database Design & Performance
PPTX
Physical database design(database)
PDF
Normalisation in Database management System (DBMS)
PPTX
CS 542 Putting it all together -- Storage Management
PPT
PPT
PPTX
Physical Design and Development
PPTX
Tuning database performance
PPT
DB_ch11
PPTX
Tuning a database for millions of users
PPT
Elmasri Navathe DBMS Unit-1 ppt
DOC
Applyinga blockcentricapproach
PDF
Don’t optimize my queries, optimize my data!
Unit 9 Database Design using ORACLE and SQL.PPT
AutoAdmin Survey
Data Indexing Presentation-My.pptppt.ppt
The Database Environment Chapter 6
Performance Tuning And Optimization Microsoft SQL Database
Physical Database Design & Performance
Physical database design(database)
Normalisation in Database management System (DBMS)
CS 542 Putting it all together -- Storage Management
Physical Design and Development
Tuning database performance
DB_ch11
Tuning a database for millions of users
Elmasri Navathe DBMS Unit-1 ppt
Applyinga blockcentricapproach
Don’t optimize my queries, optimize my data!
Ad

More from ubaidullah75790 (20)

PPTX
Chapter20 transaction processing system .pptx
PPTX
Chapter22 database security in dbms.pptx
PPTX
Chapter27 distributed database syst.pptx
PPTX
File Organization in database management.pptx
PPTX
transaction processing databse management.pptx
PPT
module03-ipaddr ipv6 addressing in net.ppt
PPT
Physical_Design system development life.PPT
PPT
S3 application and network attacks in.ppt
PPT
Chapter 5 cyber security in computer.ppt
PPTX
1606802425-dba-w7 database management.pptx
PPT
ENCh18 database management system ss.ppt
PPT
Chapter07 database system in computer.ppt
PPT
Chapter05 database sytem in computer . ppt
PPT
Chapter04 database system in computer.ppt
PPT
Chapter03 database system in computer.ppt
PPT
Chapter02 database system in computer.ppt
PPT
Chapter01 database system in computer.ppt
PPT
MYCH8 database management system in .ppt
PPT
ch1 database management system in data.ppt
PPTX
ch12 database management system storage.pptx
Chapter20 transaction processing system .pptx
Chapter22 database security in dbms.pptx
Chapter27 distributed database syst.pptx
File Organization in database management.pptx
transaction processing databse management.pptx
module03-ipaddr ipv6 addressing in net.ppt
Physical_Design system development life.PPT
S3 application and network attacks in.ppt
Chapter 5 cyber security in computer.ppt
1606802425-dba-w7 database management.pptx
ENCh18 database management system ss.ppt
Chapter07 database system in computer.ppt
Chapter05 database sytem in computer . ppt
Chapter04 database system in computer.ppt
Chapter03 database system in computer.ppt
Chapter02 database system in computer.ppt
Chapter01 database system in computer.ppt
MYCH8 database management system in .ppt
ch1 database management system in data.ppt
ch12 database management system storage.pptx
Ad

Recently uploaded (20)

PPTX
Open Quiz Monsoon Mind Game Final Set.pptx
PDF
The Final Stretch: How to Release a Game and Not Die in the Process.
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Electrolyte Disturbances and Fluid Management A clinical and physiological ap...
PDF
Mga Unang Hakbang Tungo Sa Tao by Joe Vibar Nero.pdf
PPTX
Open Quiz Monsoon Mind Game Prelims.pptx
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
English Language Teaching from Post-.pdf
PDF
Module 3: Health Systems Tutorial Slides S2 2025
PPTX
Cell Structure & Organelles in detailed.
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PPTX
UNDER FIVE CLINICS OR WELL BABY CLINICS.pptx
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Open folder Downloads.pdf yes yes ges yes
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
How to Manage Starshipit in Odoo 18 - Odoo Slides
Open Quiz Monsoon Mind Game Final Set.pptx
The Final Stretch: How to Release a Game and Not Die in the Process.
Renaissance Architecture: A Journey from Faith to Humanism
Electrolyte Disturbances and Fluid Management A clinical and physiological ap...
Mga Unang Hakbang Tungo Sa Tao by Joe Vibar Nero.pdf
Open Quiz Monsoon Mind Game Prelims.pptx
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
English Language Teaching from Post-.pdf
Module 3: Health Systems Tutorial Slides S2 2025
Cell Structure & Organelles in detailed.
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
UNDER FIVE CLINICS OR WELL BABY CLINICS.pptx
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Open folder Downloads.pdf yes yes ges yes
O5-L3 Freight Transport Ops (International) V1.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
How to Manage Starshipit in Odoo 18 - Odoo Slides

physical database design distributed .ppt

  • 1. Physical Database Design and Tuning Copyright © 2004 Pearson Education, Inc.
  • 2. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-2 Chapter Outline 1. Physical Database Design in Relational Databases 2. An Overview of Database Tuning in Relational Systems.
  • 3. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-3 1. Physical Database Design in Relational Databases Factors that Influence Physical Database Design: A. Analyzing the database queries and transactions For each query, the following information is needed. 1) The files that will be accessed by the query; 2) Whether the selection condition is an equality,inequality, or a range condition. 3) The attributes on which any join conditions or conditions to link multiple tables or objects for the query are specified; 4) The attributes whose values will be retrieved by the query.
  • 4. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-4 Factors that Influence Physical Database Design (cont.) A. Analyzing the database queries and transactions (cont.) For each update transaction or operation, the following information is needed. 1) The files that will be updated; 2) The type of operation on each file (insert, update or delete); 3) The attributes on which selection conditions for a delete or update operation are specified; 4) The attributes whose values will be changed by an update operation.
  • 5. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-5 Factors that Influence Physical Database Design (cont.) B. Analyzing the expected frequency of invocation of queries and transactions – The expected frequency information, along with the attribute information collected on each query and transaction, is used to compile a cumulative list of expected frequency of use for all the queries and transactions. – It is expressed as the expected frequency of using each attribute in each file as a selection attribute or join attribute, over all the queries and transactions.
  • 6. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-6 Factors that Influence Physical Database Design (cont.) C. Analyzing the time constraints of queries and transactions – Performance constraints place further priorities on the attributes that are candidates for access paths. – The selection attributes used by queries and transactions with time constraints become higher-priority candidates for primary access structure. D. Analyzing the expected frequencies of update operations A minimum number of access paths should be specified for a file that is updated frequently. E. Analyzing the uniqueness constraints on attributes. Access paths should be specified on all candidate key attributes — or set of attributes — that are either the primary key or constrained to be unique.
  • 7. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-7  Design decisions about indexing 1. Whether to index an attribute? 2. What attribute or attributes to index on? 3. Whether to set up a clustered index? 4. Whether to use a hash index over a tree index? 5. Whether to use dynamic hashing for the file? Physical Database Design Decisions
  • 8. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-8 Physical Database Design Decisions  Denormalization as a design decision for speeding up queries – The goal of normalization is to separate the logically related attributes into tables to minimize redundancy and thereby avoid the update anomalies that cause an extra processing overhead to maintain consistency of the database. – The goal of denormalization is to improve the performance of frequently occurring queries and transactions. (Typically the designer adds to a table attributes that are needed for answering queries or producing reports so that a join with another table is avoided.)
  • 9. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-9 2. An Overview of Database Tuning in Relational Systems  Tuning: the process of continuing to revise/adjust the physical database design by monitoring resource utilization as well as internal DBMS processing to reveal bottlenecks such as contention for the same data or devices.  Goal: – To make application run faster – To lower the response time of queries/transactions – To improve the overall throughput of transactions
  • 10. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-10 Statistics internally collected in DBMSs:  Size of individual tables  Number of distinct values in a column  The number of times a particular query or transaction is submitted/executed in an interval of time  The times required for different phases of query and transaction processing Statistics obtained from monitoring:  Storage statistics  I/O and device performance statistics  Query/transaction processing statistics  Locking/logging related statistics  Index statistics A brief overview of the tuning process
  • 11. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-11 Problems to be considered in tuning: Problems to be considered in tuning:  How to minimize overhead of logging and unnecessary dumping of data?  How to optimize buffer size and scheduling of processes?  How to allocate resources such as disks, RAM and processes for most efficient utilization?
  • 12. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-12  Reasons to tuning indexes – Certain queries may take too long to run for lack of an index; – Certain indexes may not get utilized at all; – Certain indexes may be causing excessive overhead because the index is on an attribute that undergoes frequent changes  Options to tuning indexes – Drop or/and build new indexes – Change a non-clustered index to a clustered index (and vice versa) – Rebuilding the index Tuning Indexes
  • 13. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-13 Tuning the Database Design  Dynamically changed processing requirements need to be addressed by making changes to the conceptual schema if necessary and to reflect those changes into the logical schema and physical design.
  • 14. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-14 Tuning the Database Design (cont.)  Possible changes to the database design – Existing tables may be joined (denormalized) because certain attributes from two or more tables are frequently needed together. – For the given set of tables, there may be alternative design choices, all of which achieve 3NF or BCNF. One may be replaced by the other. – A relation of the form R(K, A, B, C, D, …) that is in BCNF can be stored into multiple tables that are also in BCNF by replicating the key K in each table.this is called vertical partitioning – Attribute(s) from one table may be repeated in another even though this creates redundancy and potential anomalies. – Apply horizontal partitioning as well as vertical partitioning if necessary.
  • 15. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-15 Tuning Queries  Indications for tuning queries – A query issues too many disk accesses – The query plan shows that relevant indexes are not being used.  Typical instances for query tuning 1. Many query optimizers do not use indexes in the presence of arithmetic expressions, numerical comparisons of attributes of different sizes and precision, NULL comparisons, and sub-string comparisons. 2. Indexes are often not used for nested queries using IN;
  • 16. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-16 Tuning Queries (cont.)  Typical instances for query tuning (cont.) 3. Some DISTINCTs may be redundant and can be avoided without changing the result. 4. Unnecessary use of temporary result tables can be avoided by collapsing multiple queries into a single query unless the temporary relation is needed for some intermediate processing. 5. In some situations involving using of correlated queries, temporaries are useful. 6. If multiple options for join condition are possible, choose one that uses a clustering index and avoid those that contain string comparisons.
  • 17. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-17 Tuning Queries (cont.)  Typical instances for query tuning (cont.) 7. The order of tables in the FROM clause may affect the join processing. 8. Many applications are based on views that define the data of interest to those applications. Sometimes these views become an overkill.
  • 18. Copyright © 2004 Ramez Elmasri and Shamkant Navathe Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 16-18 Additional Query Tuning Guidelines 1. A query with multiple selection conditions that are connected via OR may not be prompting the query optimizer to use any index. Such a query may be split up and expressed as a union of queries, each with a condition on an attribute that causes an index to be used. 2. Apply the following transformations – NOT condition may be transformed into a positive expression. – Embedded SELECT blocks may be replaced by joins. – If an equality join is set up between two tables, the range predicate on the joining attribute set up in one table may be repeated for the other table 3. WHERE conditions may be rewritten to utilize the indexes on multiple columns.