query processing & optimization

6
QUERY PROCESSING & OPTIMIZATION Database Systems (Fourth Edition - 28.5 + 28.5.1)

Upload: mirit

Post on 26-Jan-2016

20 views

Category:

Documents


4 download

DESCRIPTION

Query Processing & Optimization. Database Systems (Fourth Edition - 28.5 + 28.5.1). SQL Standarder. SQL standarder B etegnelse for de features der er implementeret i SQL U dbedre svagheder i tidligere versioner SQL:2003 standarden Har mangel indenfor bl.a.: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Query  Processing  &  Optimization

QUERY PROCESSING & OPTIMIZATIONDatabase Systems(Fourth Edition - 28.5 + 28.5.1)

Page 2: Query  Processing  &  Optimization

SQL STANDARDER

SQL standarder Betegnelse for de features der er implementeret

i SQL Udbedre svagheder i tidligere versioner

SQL:2003 standarden Har mangel indenfor bl.a.:

Mulighed for definering af nye index structures Mulighed for at give query-optimizeren informationer

om ”cost” på User Defined Functions Variationer fra produkt til produkt

Page 3: Query  Processing  &  Optimization

QUERY OPTIMIZER

Formål Optimerer det enkelte query og ”flader” det ud Muligt hvis man anvender interne UDF’s i SQL

Eksterne UDF Query optimizeren kan ikke ”tolke” disse QO fodres med følgende oplysninger:

A : CPU cost for funktionen B : Forventede antal bytes C : CPU cost pr. byte

Page 4: Query  Processing  &  Optimization

QUERY OPTIMIZER

ADT (?) A : CPU cost for funktionen (pr. kald) B : Det forventede antal bytes (procentvis) fra

argumentet som anvendes C : CPU cost pr. byte der læses

Samlet ”cost” I/O

( B * expected_size_of_argument ) CPU

A + C * ( B * expected_size_of_argument )

Alternativ Experimentiel fremgangsmåde

Page 5: Query  Processing  &  Optimization

EKSEMPEL

Query:

SELECT *FROM PropertyForRentWHERE nearPrimarySchool(postcode) < 2.0ANDcity = ”Glasgow”

Page 6: Query  Processing  &  Optimization

NEW INDEX TYPES

Relationelle DBMS’er anvender B-tree index Ikke optimalt i forhold til ORDB

Nogle ORDBMS med support for nye index: Generic B-tree (tillader B-tree index på alle

datatyper og ikke kun alfanumeriske datatyper) Quad Trees K-D-B Trees R-trees (region trees – giver hurtig adgang til to-

og tredimensionelle datastrukturer) Grid files D-Trees (tekst support)

Plugin User Defined Indexes