70 likes | 194 Views
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.:
E N D
Query Processing & Optimization Database Systems (Fourth Edition - 28.5 + 28.5.1)
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 indexstructures • Mulighed for at give query-optimizeren informationer om ”cost” på UserDefinedFunctions • Variationer fra produkt til produkt
Query Optimizer • Formål • Optimerer det enkelte query og ”flader” det ud • Muligt hvis man anvender interne UDF’s i SQL • Eksterne UDF • Query optimizerenkan ikke ”tolke” disse • QO fodres med følgende oplysninger: • A : CPU cost for funktionen • B : Forventede antal bytes • C : CPU cost pr. byte
Query Optimizer • ADT (?) • A : CPU cost for funktionen (pr. kald) • B : Det forventede antal bytes (procentvis) fra argumentet som anvendes • C : CPU costpr. 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
Eksempel • Query:SELECT *FROM PropertyForRentWHERE nearPrimarySchool(postcode) < 2.0ANDcity = ”Glasgow”
New Index Types • Relationelle DBMS’er anvender B-treeindex • Ikke optimalt i forhold til ORDB • Nogle ORDBMS med support for nye index: • GenericB-tree (tillader B-treeindex på alle datatyper og ikke kun alfanumeriske datatyper) • QuadTrees • K-D-B Trees • R-trees (region trees– giver hurtig adgang til to- og tredimensionelle datastrukturer) • Grid files • D-Trees (tekst support) • PluginUserDefinedIndexes