# Query Optimization. Query Optimization. Optimization considerations. Example. Interaction of algorithm choice and tree arrangement.

Save this PDF as:

Size: px
Start display at page:

Download "Query Optimization. Query Optimization. Optimization considerations. Example. Interaction of algorithm choice and tree arrangement."

## Transcription

1 COS 597: Principles of Database and Information Systems Query Optimization Query Optimization Query as expression over relational algebraic operations Get evaluation (parse) tree Leaves: base relations Interior nodes: operations 1 2 Example Π bname (σ city= Rome ( ( customer depositor ) acct ) ) Π bname σ city= Rome Optimization considerations Choice of algorithm at each interior node Cost Estimates We ve just studied analysis Rearrange tree Use algebra of operations e.g. associativity of JOIN customer depositor acct 3 ( ) C = ( C ) C C 4 Interaction of algorithm choice and tree arrangement Convention: for any nested loop join, left branch represents outer relation Control with commutativity of JOIN ( ) = ( ) Result of an interior node is input to parent - lgorithm affects properties of presentation of result -Sorted? Cost analysis must proceed bottom up 5 Issues Need size estimates of result relation # records per block (size of record) # of blocks (# of records) Note: block size fixed system parameter Duplicates significantly affect # of records Need plan for buffer use Write out all results of interior nodes to disk Costs of writes for intermediate results count! Intermediate result fits in buffer lgorithm for parent use this? Can save cost of writing result by child ND reading result by parent Pipeline result of child as input to parent 6 1

2 Pipelining Parent and child execute concurrently Parent and child share buffer space k-block shared (sub)buffer child produces k blocks of output Fill buffer parent consumes k blocks of input from child Empty buffer NO disk write cost child; NO disk read cost parent lgorithms of child and parent must support this Child: usually does; produce 1 block output at a time Parent: choice of algorithm critical! 7 8 Outer relation ok Read relation once, chunk by chunk Use shared buffer for chunk Must re-read entire inner relation for every chunk of outer Outer relation ok same as lock nested loop Using index 9 10 To sort input relation: Can pipeline from child to group of buffer blocks for Stage 1 (Stage 1: sorting individual groups to make runs) If child produced in sorted order, pipeline merge Child must be outer relation if duplicates 11 OK To partition input relation: Can pipeline from child to buckets in buffer for Stage 1 OK 12 2

3 llocating buffer blocks If have simultaneous pipelining up tree How many buffer blocks for each child-toparent exchange? ffects speed of algorithms Limit number of simultaneous pipelines If no pipeline between child and parent materialize result of child Child writes result to disk Parent reads from disk Multi-operation query Want plan Parse tree Pipelining plan for each edge lgorithm for each interior node (operation) To build plan Consider alternatives LL? Estimate costs Choose best Really good enough Catalog Need info about base relations In catalog: For each base relation: # tuples # blocks List of existing indexes For each index # distinct search-key values # blocks For each tree index Tree height Calculating size estimates of result ssume independence of attributes of a tuple Uniform distribution of values of each attribute among tuples Calculate reduction factor (RF) for # tuples of result Examples: σ = constant and index on attribute : RF = 1/(# search key values) σ > constant and tree index on attribute : (high key value) constant RF = (high key value) (low key value) Estimate # blocks output as RF * (# blocks input relation) high/low search keys Reduction factor of joins Estimate # tuples of (RS) on shared attribute as RF * ( # tuples R) * (# tuples S) Looking at join as selection on RXS Example: for join attribute If indexes on R. and S. RF = 1/max (# key values R., # key values S.) If no indexes, could use # distinct values What if real-valued? Size of tuples of result If attributes of fixed length, calculate Projection: sizes of attributes retained Cross-product RXS: sum of sizes of tuples in R and S Join with single occurrence equal attributes Projection of Cross-product Selection & Union-compatible set operations: no change If attributes of variable length, estimate

4 Planning Heuristics Know how estimate costs of algorithms Know how estimate sizes of results ON How use to make plan for query eval? interact determine operation order for expression algebraic equivalences select algorithm for each operation best depends on operation order Can t try all possibilities - exponential time 19 Consider k joins: R 1 R 2 R k Too many parse trees associativity and commutativity Example heuristic: consider only Left-deep join trees IM system R 1979 determines tree shape, not order R i why this shape? still a lot of trees: k! 20 lgorithm design Observe for (R 1 R 2 R k-1 ) R k : once decide least-cost way do ( ) actual order compute w/in ( ) not affect best choice for ( ) R k whether ( ) result sorted or hashed does affect best choice for ( ) R k dynamic programming algorithm walk up left-deep tree 21 Using dynamic programming For node distance d from leftmost leaf, estimate lowest cost of evaluating subtree for each size-(d+1) subset of {R i } 1. without regard to order of result records 2. in each natural sorted order of result records Use results from child node Include pipelining strategy Remember best plans and pipelining strategy for each subset can reconstruct order going back down tree Running time exponential in k still consider each subset of {R i } don t consider each order of R i s at next level 22 Other operations Index-only lgorithms Move selects and projects up/down tree Try to push selects down tree Pushing projects can also be useful why? not always good idea: destroys indexes can include in left-join-tree analysis Text has detailed discussion equivalences for relational algebra operations If have indexes giving pointers to records for all relations in query, consider: Use indexes to execute operations must have right search keys Retrieve records only at end If need only count, never retrieve full records

5 Summary Have seen in detail how to execute joins Have considered execution of other relational alg. op.s Have looked at how estimate sizes of results Have briefly considered one heuristic for making plan for several joins restrict to left-deep trees Have looked briefly at planning when relational alg. expr. has more than just joins 25 5

### ! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions

Chapter 13: Query Processing Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions Basic Steps in Query

### Query Processing, optimization, and indexing techniques

Query Processing, optimization, and indexing techniques What s s this tutorial about? From here: SELECT C.name AS Course, count(s.students) AS Cnt FROM courses C, subscription S WHERE C.lecturer = Calders

### Relational Query Optimization. Chapter 15

Relational Query Optimization Chapter 15 Highlights of System R Optimizer Impact: Most widely used currently; works well for < 10 joins. Cost estimation: Approximate art at best. Statistics, maintained

### Steps in Query Processing Query Query Parser Parsed query. Query Evaluation and Optimization. An Overview. Plan Generator

Query Evaluation and Optimization An Overview Web Forms Application FEs SQL Interface Plan Executor Operator Evaluator Parser Optimizer Query Evaluation Engine Concurrency Control Transaction Manager Lock

### Optimization Overview. Overview of Query Optimization

Optimization Overview Instructor: Sharma Chakravarthy sharma@cse.uta.edu The University of Texas @ Arlington Database Management Systems, S. Chakravarthy 1 Overview of Query Optimization Input: Sql query

### L12: Query Optimization

Note: Slides whose titles are put in () are for your reference only. Details will be covered in COMP9315. L12: heuristicbased q.o. parse convert SQL query parse tree logical query plan apply laws improved

### Query Optimization. From Chapter 15. Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Query Optimization From Chapter 15 Schema for Examples Sailors (sid: integer, sname: string, rating: integer, age: real) Reserves (sid: integer, bid: integer, day: dates, rname: string) Reserves: Each

### Overview of Query Evaluation. Overview of Query Evaluation

Overview of Query Evaluation Chapter 12 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview of Query Evaluation Plan: Tree of R.A. ops, with choice of alg for each op. Each operator

### Chapter 13: Query Processing. Basic Steps in Query Processing

Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

### Plan for the Query Optimization topic

VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui COMP302 Database Systems Plan for the Query Optimization topic COMP302 Database Systems Query Optimisation_04 1 What is Query

### 8. Query Processing. Query Processing & Optimization

ECS-165A WQ 11 136 8. Query Processing Goals: Understand the basic concepts underlying the steps in query processing and optimization and estimating query processing cost; apply query optimization techniques;

### Comp 5311 Database Management Systems. 16. Review 2 (Physical Level)

Comp 5311 Database Management Systems 16. Review 2 (Physical Level) 1 Main Topics Indexing Join Algorithms Query Processing and Optimization Transactions and Concurrency Control 2 Indexing Used for faster

### Review. Cost-based Query Sub-System. Schema for Examples. Relational Query Optimization. Query Optimization Overview

Review Relational Query Optimization CS186 R & G Chapters 12/15 Implementation of single Relational Operations Choices depend on indexes, memory, stats, Joins Blocked nested loops: simple, exploits extra

### Relational Query Optimization 2

Relational Query Optimization 2 R&G - Chapter 14 For ease and speed in doing a thing do not give the work lasting solidity or exactness of beauty. Plutarch, Life of Pericles Query Optimization Query can

### Overview of Query Evaluation

Overview of Query Evaluation Chapter 12 Comp 521 Files and Databases Fall 2010 1 Overview of Query Evaluation Query: SELECT sname FROM Reserves R, Sailors S WHERE R.sid=S.sid AND R.bid = 100 AND S.rating

### Evaluation of Expressions

Query Optimization Evaluation of Expressions Materialization: one operation at a time, materialize intermediate results for subsequent use Good for all situations Sum of costs of individual operations

### ICS 434 Advanced Database Systems

ICS 434 Advanced Database Systems Dr. Abdallah Al-Sukairi sukairi@kfupm.edu.sa Second Semester 2003-2004 (032) King Fahd University of Petroleum & Minerals Information & Computer Science Department Outline

### Kathleen Durant PhD Lecture 19 CS 3200 Northeastern University. Slide Content Courtesy of R. Ramakrishnan, J. Gehrke, and J.

Relational Query Optimization Kathleen Durant PhD Lecture 19 CS 3200 Northeastern University 1 Slide Content Courtesy of R. Ramakrishnan, J. Gehrke, and J. Hellerstein Overview of Query Evaluation Query

### CPSC 421 Database Management Systems. Lecture 18: Query Optimization

CPSC 421 Database Management Systems Lecture 18: Query Optimization * Some material adapted from R. Ramakrishnan, L. Delcambre, and B. Ludaescher Agenda No quiz! More on Query Optimization CPSC 421, 2009

### Chapter 14 Query Optimization

Chapter 4: Query Optimization Chapter 4 Query Optimization Introduction Catalog Information for Cost Estimation Estimation of Statistics Transformation of Relational Expressions Dynamic Programming for

### Query Processing C H A P T E R12. Practice Exercises

C H A P T E R12 Query Processing Practice Exercises 12.1 Assume (for simplicity in this exercise) that only one tuple fits in a block and memory holds at most 3 blocks. Show the runs created on each pass

### OVERVIEW OF QUERY EVALUATION

12 OVERVIEW OF QUERY EVALUATION Exercise 12.1 Briefly answer the following questions: 1. Describe three techniques commonly used when developing algorithms for relational operators. Explain how these techniques

### Database System Concepts

Chapter 14: Optimization Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2009/2010 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth and Sudarshan.

### Query Optimization Example. Steps Query op5miza5on steps: 12/13/09

Query Optimization Example (sid, sname, ra5ng, age) (bid, bname, color) (sid, bid, day, rname) Query: SELECT S.sid, S.sname, S.age FROM S, B, R WHERE B.bid = R.rid AND B.bid = R.bid AND B.color = Red AND

### Big Data and Scripting. Part 4: Memory Hierarchies

1, Big Data and Scripting Part 4: Memory Hierarchies 2, Model and Definitions memory size: M machine words total storage (on disk) of N elements (N is very large) disk size unlimited (for our considerations)

### SQL Query Evaluation. Winter 2006-2007 Lecture 23

SQL Query Evaluation Winter 2006-2007 Lecture 23 SQL Query Processing Databases go through three steps: Parse SQL into an execution plan Optimize the execution plan Evaluate the optimized plan Execution

### Distributed Databases Query Optimisation. TEMPUS June, 2001

Distributed Databases Query Optimisation TEMPUS June, 2001 1 Topics Query processing in distributed databases Localization Distributed query operators Cost-based optimization 2 Decomposition Query Processing

### 1 2-3 Trees: The Basics

CS10: Data Structures and Object-Oriented Design (Fall 2013) November 1, 2013: 2-3 Trees: Inserting and Deleting Scribes: CS 10 Teaching Team Lecture Summary In this class, we investigated 2-3 Trees in

### Analysis of Algorithms I: Binary Search Trees

Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary

### Query Processing + Optimization: Outline

Query Processing + Optimization: Outline Operator Evaluation Strategies Query processing in general Selection Join Query Optimization Heuristic query optimization Cost-based query optimization Query Tuning

### CS 220 Relational Algebra 2/3/2015

CS 220 Relational Algebra 2/3/2015 Relational Query Languages Query = retrieval program Language examples: Theoretical: 1. Relational Algebra 2. Relational Calculus a. tuple relational calculus (TRC) b.

### Chapter 14: Query Optimization

Chapter 14: Query Optimization Database System Concepts 5 th Ed. See www.db-book.com for conditions on re-use Chapter 14: Query Optimization Introduction Transformation of Relational Expressions Catalog

### In order to minimize the execution cost is possible: . minimize the size of intermediates results.

Query Optimization The query optimizer is the most important block in DBMS: it generates the strategy called execution plan. This module also defines how reads are performed:. directly;. with indices.

### CSE 444 Practice Problems. Query Optimization

CSE 444 Practice Problems Query Optimization 1. Query Optimization Given the following SQL query: Student (sid, name, age, address) Book(bid, title, author) Checkout(sid, bid, date) SELECT S.name FROM

### Chapter 13: Query Optimization

Chapter 13: Query Optimization Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 13: Query Optimization Introduction Transformation of Relational Expressions Catalog

### SQL QUERY EVALUATION. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 12

SQL QUERY EVALUATION CS121: Introduction to Relational Database Systems Fall 2015 Lecture 12 Query Evaluation 2 Last time: Began looking at database implementation details How data is stored and accessed

### B+ Tree Properties B+ Tree Searching B+ Tree Insertion B+ Tree Deletion Static Hashing Extendable Hashing Questions in pass papers

B+ Tree and Hashing B+ Tree Properties B+ Tree Searching B+ Tree Insertion B+ Tree Deletion Static Hashing Extendable Hashing Questions in pass papers B+ Tree Properties Balanced Tree Same height for paths

### Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * *

Binary Heaps A binary heap is another data structure. It implements a priority queue. Priority Queue has the following operations: isempty add (with priority) remove (highest priority) peek (at highest

### Database 2 Lecture II. Alessandro Artale

Free University of Bolzano Database 2. Lecture II, 2003/2004 A.Artale (1) Database 2 Lecture II Alessandro Artale Faculty of Computer Science Free University of Bolzano Room: 221 artale@inf.unibz.it http://www.inf.unibz.it/

### Data Structures Using C++ 2E. Chapter 11 Binary Trees and B-Trees

Data Structures Using C++ 2E Chapter 11 Binary Trees and B-Trees Binary Trees Definition: a binary tree, T, is either empty or such that T has a special node called the root node T has two sets of nodes,

### Query Processing and Optimization

Query Processing and Optimization Query optimization: finding a good way to evaluate a query Queries are declarative, and can be translated into procedural languages in more than one way Hence one has

### 1 11/11/2002. σ P.Dnum=D.Dnum and D.Dmgrssn=E.SSN and P.Plocation= Stafford 3 11/11/ /11/2002

376a. Database Design Dept. of Computer Science Vassar College http://www.cs.vassar.edu/~cs376 Class 17 Query optimization algorithms Query tree A representation of a select statement Canonical form of

### Homework 2: Query Processing/Optimization, Transactions/Recovery (due October 6 th, 2014, 2:30pm, in class hard-copy please)

Virginia Tech. Computer Science CS 5614 (Big) Data Management Systems Fall 2014, Prakash Homework 2: Query Processing/Optimization, Transactions/Recovery (due October 6 th, 2014, 2:30pm, in class hard-copy

### 7. Indexing. Contents: Single-Level Ordered Indexes Multi-Level Indexes B + Tree based Indexes Index Definition in SQL.

ECS-165A WQ 11 123 Contents: Single-Level Ordered Indexes Multi-Level Indexes B + Tree based Indexes Index Definition in SQL 7. Indexing Basic Concepts Indexing mechanisms are used to optimize certain

### Datenbanksysteme II: Implementation of Database Systems Implementing Joins

Datenbanksysteme II: Implementation of Database Systems Implementing Joins Material von Prof. Johann Christoph Freytag Prof. Kai-Uwe Sattler Prof. Alfons Kemper, Dr. Eickler Prof. Hector Garcia-Molina

### CS 525: Advanced Database Organization. Execution Plan. Query Execution. How to estimate costs. 10: Query Execution. Estimating IOs: Boris Glavic

SQL query CS 55: Advanced Database Organization 0: Query Execution Boris Glavic Slides: adapted from a course taught by Hector Garcia-Molina, Stanford InfoLab CS 55 Notes 0 - Query Execution parse parse

### Relational Algebra The Relational Algebra and Relational Calculus. Relational Query Languages

The Relational Algebra and Relational Calculus Relational Algebra Slide 6-2 Relational Query Languages Query languages Allow manipulation and retrieval of data Not like programming languages Not intend

### Storage and Indexing. DBS Database Systems Implementing and Optimising Query Languages. Differences between disk and main memory

DBS Database Systems Implementing and Optimising Query Languages Peter Buneman 9 November 2010 Reading: R&G Chapters 8, 9 & 10.1 Storage and Indexing We typically store data in external (secondary) storage.

### Answer Key. UNIVERSITY OF CALIFORNIA College of Engineering Department of EECS, Computer Science Division

Answer Key UNIVERSITY OF CALIFORNIA College of Engineering Department of EECS, Computer Science Division CS186 Fall 2003 Eben Haber Midterm Midterm Exam: Introduction to Database Systems This exam has

### Relational Algebra. Relational Query Languages. Formal Relational Query Languages. Chapter 4, Part A

Relational Algebra Chapter 4, Part A Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database.

### DATABASE DESIGN - 1DL400

DATABASE DESIGN - 1DL400 Spring 2015 A course on modern database systems!! http://www.it.uu.se/research/group/udbl/kurser/dbii_vt15/ Kjell Orsborn! Uppsala Database Laboratory! Department of Information

### Databases and Information Systems 1 Part 3: Storage Structures and Indices

bases and Information Systems 1 Part 3: Storage Structures and Indices Prof. Dr. Stefan Böttcher Fakultät EIM, Institut für Informatik Universität Paderborn WS 2009 / 2010 Contents: - database buffer -

### Data Structures. Topic #9

Data Structures Topic #9 Today s Agenda Continue Discussing Trees Examine the algorithm to insert Examine the algorithm to remove Begin discussing efficiency of tree Are there any alternatives? 2-3 2-3-4

### Distributed Database Design and Distributed Query Execution. Designing with distribution in mind: top-down

Distributed Database Design and Distributed Query Execution Designing with distribution in mind: top-down 1 Data Fragmentation and Placement Fragmentation: How to split up the data into smaller fragments?

### Relational Algebra. Chapter 4, Part A

Relational Algebra Chapter 4, Part A 1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database. Relational model supports simple, powerful QLs: Strong formal

### Binary Trees and Huffman Encoding Binary Search Trees

Binary Trees and Huffman Encoding Binary Search Trees Computer Science E119 Harvard Extension School Fall 2012 David G. Sullivan, Ph.D. Motivation: Maintaining a Sorted Collection of Data A data dictionary

### Query Processing. Q Query Plan. Example: Select B,D From R,S Where R.A = c S.E = 2 R.C=S.C. Himanshu Gupta CSE 532 Query Proc. 1

Q Query Plan Query Processing Example: Select B,D From R,S Where R.A = c S.E = 2 R.C=S.C Himanshu Gupta CSE 532 Query Proc. 1 How do we execute query? One idea - Do Cartesian product - Select tuples -

### Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Physical Design. Phases of database design. Physical design: Inputs.

Phases of database design Application requirements Conceptual design Database Management Systems Conceptual schema Logical design ER or UML Physical Design Relational tables Logical schema Physical design

### Inside the PostgreSQL Query Optimizer

Inside the PostgreSQL Query Optimizer Neil Conway neilc@samurai.com Fujitsu Australia Software Technology PostgreSQL Query Optimizer Internals p. 1 Outline Introduction to query optimization Outline of

### Basic form of SQL Queries

SQL - 1 Week 6-1 Basic form of SQL Queries SELECT FROM WHERE target-list relation-list qualification target-list A list of attributes of output relations in relation-list relation-list A list of relation

### SQL: Queries, Programming, Triggers. Instructor: Alessandra La Spina

SQL: Queries, Programming, Triggers Instructor: Alessandra La Spina laspina@dm.unipi.it SQL Data Definition Language (DDL): subset of SQL that supports creation, deletion, and modification of definitions

### Multi-Way Search Trees (B Trees)

Multi-Way Search Trees (B Trees) Multiway Search Trees An m-way search tree is a tree in which, for some integer m called the order of the tree, each node has at most m children. If n

### Relational Query Languages. Relational Algebra. Preliminaries. Formal Relational Query Languages. Example Instances. Relational Algebra

Relational Algebra Lecture 9 R &G, Chapter 4 By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental

### Query Evaluation & Optimization

Query Evaluation & Optimization Chapter 16 1 Cost-based Query Sub-System Queries Select * From Blah B Where B.blah = blah Query Parser Query Optimizer Plan Generator Plan Cost Estimator Catalog Manager

### The Relational Algebra

The Relational Algebra The relational algebra is very important for several reasons: 1. it provides a formal foundation for relational model operations. 2. and perhaps more important, it is used as a basis

### Multiway Search Tree (MST)

Multiway Search Tree (MST) Generalization of BSTs Suitable for disk MST of order n: Each node has n or fewer sub-trees S1 S2. Sm, m n Each node has n-1 or fewer keys K1 Κ2 Κm-1 : m-1 keys in ascending

### Problem. Indexing with B-trees. Indexing. Primary Key Indexing. B-trees. B-trees: Example. primary key indexing

Problem Given a large collection of records, Indexing with B-trees find similar/interesting things, i.e., allow fast, approximate queries Anastassia Ailamaki http://www.cs.cmu.edu/~natassa 2 Indexing Primary

### Deleting a Data Entry from a B+ Tree

Deleting a Data Entry from a B+ Tree Start at root, find leaf L where entry belongs. Remove the entry. If L is at least half-full, done! If L has only d-1 entries, Try to re-distribute, borrowing from

### On Multiple Query Optimization in Data Mining

On Multiple Query Optimization in Data Mining Marek Wojciechowski, Maciej Zakrzewicz Poznan University of Technology Institute of Computing Science ul. Piotrowo 3a, 60-965 Poznan, Poland {marek,mzakrz}@cs.put.poznan.pl

Database Systems ( ) September 27, 200 Lecture # By Hao-hua Chu ( ) 1 Course Administration Assignment #1 is due today. Assignment #2 is out on the home webpage. It is due one week from today. Next week

### SQL: Queries, Constraints, Triggers

SQL: Queries, Constraints, Triggers Chapter 5 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Example Instances We will use these instances of the Sailors and Reserves relations in our

### Query Optimization for Distributed Database Systems Robert Taylor Candidate Number : 933597 Hertford College Supervisor: Dr.

Query Optimization for Distributed Database Systems Robert Taylor Candidate Number : 933597 Hertford College Supervisor: Dr. Dan Olteanu Submitted as part of Master of Computer Science Computing Laboratory

### CS 525 Advanced Database Organization - Spring 2013 Mon + Wed 3:15-4:30 PM, Room: Wishnick Hall 113

CS 525 Advanced Database Organization - Spring 2013 Mon + Wed 3:15-4:30 PM, Room: Wishnick Hall 113 Instructor: Boris Glavic, Stuart Building 226 C, Phone: 312 567 5205, Email: bglavic@iit.edu Office Hours:

### RELATIONAL ALGEBRA CHAPTER 6

1 RELATIONAL ALGEBRA CHAPTER 6 2 LECTURE OUTLINE Unary Relational Operations: SELECT and PROJECT Relational Algebra Operations from Set Theory Binary Relational Operations: JOIN and DIVISION Query Trees

### Relational Algebra. CSE 544: Relational Operators, Sorting. What about Intersection? 1. Union and 2. Difference. 4. Projection. 3.

Relational Algebra CSE 544: Relational Operators, Sorting Wednesday, 5/12/2004 Operates on relations, i.e. sets Later: we discuss how to extend this to bags Five operators: Union: Difference: - Selection:

### University of Massachusetts Amherst Department of Computer Science Prof. Yanlei Diao

University of Massachusetts Amherst Department of Computer Science Prof. Yanlei Diao CMPSCI 445 Midterm Practice Questions NAME: LOGIN: Write all of your answers directly on this paper. Be sure to clearly

### CIS 631 Database Management Systems Sample Final Exam

CIS 631 Database Management Systems Sample Final Exam 1. (25 points) Match the items from the left column with those in the right and place the letters in the empty slots. k 1. Single-level index files

### HEURISTIC BASED QUERY OPTIMIZATION

HEURISTIC BASED QUERY OPTIMIZATION Vishal Hatmode 1, Prof. Sonali Rangdale 2 Department of Information Technology, Siddhant College of Engineering, Pune, India 1,2 Abstract: In this paper, we will enlist

### The following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2).

CHAPTER 5 The Tree Data Model There are many situations in which information has a hierarchical or nested structure like that found in family trees or organization charts. The abstraction that models hierarchical

### Record Storage, File Organization, and Indexes

Record Storage, File Organization, and Indexes ISM6217 - Advanced Database Updated October 2005 1 Physical Database Design Phase! Inputs into the Physical Design Phase " Logical (implementation) model

### SQL: Queries, Programming, Triggers

SQL: Queries, Programming, Triggers Chapter 5 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 R1 Example Instances We will use these instances of the Sailors and Reserves relations in

### Chapter 5 SQL: QUERIES, CONSTRAINTS, TRIGGERS INTRODUCTION

Chapter 5 SQL: QUERIES, CONSTRAINTS, TRIGGERS 1 INTRODUCTION - The current presentation is consistent with both SQL-92 and SQL: 99 (differences will be noted when necessary). - We shall cover - query capabilities

### Example Instances. SQL: Queries, Programming, Triggers. Conceptual Evaluation Strategy. Basic SQL Query. A Note on Range Variables

SQL: Queries, Programming, Triggers Chapter 5 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Example Instances We will use these instances of the Sailors and Reserves relations in our

### Calculations that Span Dimensions

Tip or Technique Calculations that Span Dimensions Product(s): Report Studio, Crosstabs, Dimensional Expressions Area of Interest: Reporting Calculations that Span Dimensions 2 Copyright Your use of this

### Query Optimization. Coming to Introduction to Database Systems by C. J. Date, he discussed the automatic optimization.

Query Optimization Introduction: Query optimization is a function of many relational database management systems in which multiple query plans for satisfying a query are examined and a good query plan

Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait

### Data Warehousing und Data Mining

Data Warehousing und Data Mining Multidimensionale Indexstrukturen Ulf Leser Wissensmanagement in der Bioinformatik Content of this Lecture Multidimensional Indexing Grid-Files Kd-trees Ulf Leser: Data

### Operations: search;; min;; max;; predecessor;; successor. Time O(h) with h height of the tree (more on later).

Binary search tree Operations: search;; min;; max;; predecessor;; successor. Time O(h) with h height of the tree (more on later). Data strutcure fields usually include for a given node x, the following

### SQL: Queries, Constraints, Triggers. Basic SQL Query. Conceptual Evaluation Strategy. A Note on Range Variables. Example of Conceptual Evaluation

SQL: Queries, Constraints, Triggers Chapter 5 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 R1 Example Instances We will use these instances of the Sailors and Reserves relations in

### root node level: internal node edge leaf node CS@VT Data Structures & Algorithms 2000-2009 McQuain

inary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from each

### Parallel Databases. Parallel Architectures. Parallelism Terminology 1/4/2015. Increase performance by performing operations in parallel

Parallel Databases Increase performance by performing operations in parallel Parallel Architectures Shared memory Shared disk Shared nothing closely coupled loosely coupled Parallelism Terminology Speedup:

### Q4. What are data model? Explain the different data model with examples. Q8. Differentiate physical and logical data independence data models.

FAQs Introduction to Database Systems and Design Module 1: Introduction Data, Database, DBMS, DBA Q2. What is a catalogue? Explain the use of it in DBMS. Q3. Differentiate File System approach and Database

### Extended Operators in SQL and Relational Algebra

Extended Operators in SQL and Relational Algebra T. M. Murali September 15, 2010 Bags or Sets? So far, we have said that relational algebra and SQL operate on relations that are sets of tuples. Real RDBMSs

### Binary Search Trees. Data in each node. Larger than the data in its left child Smaller than the data in its right child

Binary Search Trees Data in each node Larger than the data in its left child Smaller than the data in its right child FIGURE 11-6 Arbitrary binary tree FIGURE 11-7 Binary search tree Data Structures Using

### Introduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 7: Relational algebra and SQL. October 24, Lecturer: Rasmus Pagh

Introduction to Databases, Fall 2005 IT University of Copenhagen Lecture 7: Relational algebra and SQL October 24, 2005 Lecturer: Rasmus Pagh Today s lecture Basics of relational algebra. Relational algebra

### Comps PowerView. Comps PowerView. Tools in the Comps PowerView

Comps PowerView This chapter describes the WinTOTAL Comps PowerView. This document assumes you have already installed WinTOTAL and are familiar with operations regarding building and entering data into

### Big Data and Scripting map/reduce in Hadoop

Big Data and Scripting map/reduce in Hadoop 1, 2, parts of a Hadoop map/reduce implementation core framework provides customization via indivudual map and reduce functions e.g. implementation in mongodb

### Symbol Tables. Introduction

Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The