Slide 15- 1. Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Algorithms for Query Processing and Optimization.

Slides:



Advertisements
Lignende præsentationer
HUNDE SPEED km h 34,4 HUNDE SPEED km h 34,1 HUNDE SPEED km h 32,8 HUNDE SPEED km h 31,9 HUNDE SPEED km h 31,8 HUNDE SPEED km h 30,9.
Advertisements

Funktioner Grundbegreber.
Hjemmesidekonstruktion Tjekspørgsmål 1.Hvad er et markup-sprog – hvad bruges det til? 2.Hvad er forskellen mellem et markup-sprog og et scriptsprog? 3.Hvad.
Overskrift her Navn på oplægsholder Navn på KU- enhed For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”.
SQL underforespørgsler og Join
Trivselsundersøgelse og ledelsesevaluering
av Lajla Ellingsen og Mari By Rise Adresseavisen
SQL 1 DDL og DML.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel , , 28
SQL sortering og gruppering. RHS – IT A 2 SQL - sortering Hvis en forespørgsel returnerer mange rækker, kan det være bekvemt at sortere resultatet SQL.
Statistik.

Representations for Path Finding in Planar Environments.
Opslagsfelter (Access, del 6). RHS – Informationsteknologi 2 Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser vores.
NOEA/IT FEN - Databaser/Sikkerhed 1 Lektion 10 Sikkerhed og integritet Områder Autorisationsmatrix Realisering i SQL.
C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y Copyright © Slide omkring test til TT-gruppemødet
Signifikanstest ved (en eller) to stikprøver
1 UNION-FIND. 2 inddata: en følge af heltalspar (p, q); betydning: p er “forbundet med” q uddata: intet, hvis p og q er forbundet, ellers (p, q) Eksempel.
6. SQL1 Standardiseret spørge-sprog mv. til relationsdatabaser.
Start test 1 KLIK HER. Hvilken tast skal du bruge for at redigere en celle direkte? 2 F1 F2 F5 F7.
1 Test i Word 2007 Klik her for at begynde. 2 Hvor skal du klikke for at gemme dit dokument?
Trivselsundersøgelse og ledelsesevaluering Anæstesiologisk Afdeling Flere ledere
Operationer på relationer
MATLAB Programmering Anders P. Ravn Institut for Datalogi Aalborg Universitet Forår 2005 d = size(s); for k = 1:d(1), for n = 1:d(2), if (s(k,n) < 0) r(k,n)
22/092VE/E00/RB1 Introduktion til SQL Datalogi 2VE E00 DIKU Forelæsninger 22/9 og 29/9.
7. SQL constraints og triggers1 Aktive elementer i SQL.
ETU 2008 | Elevtilfredshedsundersøgelse Erhvervsskolen Nordsjælland HTX (Teknisk Gymnasium) - Hillerød Baseret på 313 besvarelser.
ELEVOPGAVER I HYGIEJNE
FEN Prædikater/Seminar 11 Prædikatslogik eller Kvantificerede udtryk Prædikater udvider propositionslogikken på to måder: –Vi tillader variable.
Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
1 SQL2. 2 Funktioner der laver aggregerede beregninger Returnerer count() Antal rækker der opfylder bestemt betingelse min() Laveste værdi (eller null)
/FENNOEA/IT - Databaser/DDB1 Lektion 13 Distribuerede databaser Begreber Design: fragmentering, allokering Arkitekturer Query Processing Transaktionshåndtering.
Globaliseringsredegørelsen 24.mar. 14 Figurer fra Danmark tiltrækker for få udenlandske investeringer i Sådan ligger landet
1 Sortering I elementære metoder. 2 Plan Terminologi Elementære metoder til sortering -sortering ved udvælgelse -sortering ved indsættelse -Shellsort.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel 2.3, , problem 30.1.c] Gerth Stølting Brodal.
MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November.
SQL Jesper Tørresø DAB1 E oktober Punkter for i dag. SQL baggrund. Relationel algebra. Brug af VS2005.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
Grunde til at jeg elsker dig
1 SQL2. 2 Funktioner der laver aggregerede beregninger Returnerer count() Antal rækker der opfylder bestemt betingelse min() Laveste værdi (eller null)
W1b1 PC baseret analyse og simulering. w1b2 Definition Digital Elektronisk beregningsmaskine, der har intern hukommelse til lagring af program og mellem-regninger.
1 PC baseret dataanalyse og simulering Week2 A. 2 SAS input/output filer Inddata -textfil - SAS-program -textfil- SAS datasæt SAS system SAS listing -print.
Fundamentale datastrukturer
1. Database-systemer, introduktion
Opslagsfelter (Access, del 6). RHS – Informationsteknologi – Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser.

1 Team Build med Team Foundation Server 2008 Konfiguration og udvidelse af build jobs Kort præsentation Hvorfor bruge Team Build Afvikling af et build.
10.mar. 15 Udvikling i løn, priser og konkurrenceevne Dansk Industri.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Begreber og Redskaber 8. Plan for idag Sortering fortsat Comparable Søgning –Lineær søgning –Binær søgning.
FENNOEA IT - Databaser/SQL-Eval1 SQL: Opsamling Om SELECT Vurdering af SQL.
3. Objekt Orientering og Relations Databaser
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation og dataproblemer 2. november 2004.
SQL Jesper Tørresø DAB1 E September Punkter for i dag. SQL baggrund. Relationel algebra. SQL koncept –Vises ved brug af VS2008.
Oprettelse af tabeller (Access, del 2)
SQL – Oracle Vigtige SQL sætninger Lektion 6 7. Semester.
Side Grundlæggende teoretisk statistik Hypotesetest: Test i 2 populationer.
Grundlæggende teoretisk statistik
Algoritmer og Datastrukturer 1 Quicksort [CLRS, kapitel 7] Gerth Stølting Brodal.
Globaliseringsredegørelse 21.mar. 11 Globaliseringsredegørelsen 2011 Grafer fra temakapitlet Eksporten som drivkraft for vækst og velstand.
Algoritmer og Datastrukturer 1 Quicksort [CLRS, kapitel 7] Gerth Stølting Brodal Aarhus Universitet.
Database.
Grundlæggende programmering Forår 2002
VTU 2008 | Virksomhedstilfredshedsundersøgelse Aalborg Tekniske Skole Svarprocent: 27% (414 besvarelser ud af mulige)
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering9B.1 Fletning.
DAIMIIntroducerende objektorienteret programmeringfletning.1 Fletning.
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1
Præsentationens transcript:

Slide 15- 1

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Algorithms for Query Processing and Optimization

Slide 15- 3

SQL → Relationel Algebra Slide SELECT Lname,Fname FROM EMPLOYEE WHERE Salary >( SELECT max(Salary) FROM EMPLOYEE WHERE Dno = 5) SELECT max(Salary) FROM EMPLOYEE WHERE Dno = 5 SELECT Lname,Fname FROM EMPLOYEE WHERE Salary >c → ExecutionplanExecutionplan :

Sortering Slide Sortering er en af de primære algoritmer der bruges i SQL Querys. F.eks. Ved: Order BY Join Union Intersection Distinct En effektiv sorterings algoritme til store filer er SORT-MERGE algoritmen

Slide Merge-Sort:

Eksempel på merge-sort Slide Tag de 13 ruder fra et kortspil: Sæt i =1 Sæt j = 13 (antag at hvert kort fylder en blok) Sæt k = 3 (Blokstørrelsen) m =  (13/3)  = 5 Sort fasen resulterer i 5 sorterede bunker Merge fasen: j = 1 p =  log (k-1) m  =  log 2 5 = log = 3 antal gennemløb j= m = 5 1.While løkke: n = 1 q =  (j/(k-1))  =  (5/2)  = 3 MERGE j = q = 3 i = i + 1 = 2 2.While løkke: n = 1 q =  (j/(k-1))  =  (3/2)  = 2 MERGE j = q = 2 i = i + 1 = 3 3.While løkke: n = 1 q =  (j/(k-1))  =  (2/2)  = 1 MERGE j = q = 1 i = i + 1 = 3 SLUT

Aloritmer til SELECT og JOIN Slide Hvordan kan DBMS’en udfører vores SELECT og JOIN operationer

Søgemetoder for simple selektioner Slide 15- 9

Søgemetoder for komplekse selektioner Slide

SQL - join Slide Behov for at lave forespørgsler der bruger data fra flere tabeller

Slide SQL - join Generel join (kobling af to relationer) Haves to relationer R 1 (A 1,A 2, A 3,…,A n ) og R 2 (B 1,B 2, B 3,…,B m ) join skrives som Q  R 1 [X] R 2 Resultatet af en JOIN er en relation Q med n + m attributter Q (A 1,A 2, A 3,…,A n, B 1,B 2, B 3,…,B m )

Nestede loop join Simpel metode: For (hver række i tabel1){ for (hver række i tabel2){ concatener tabel1Række med tabel2Række }} Udfør selektion på den dannede tabel

Nestede loop join Nestede-loop Join FOR (hver række i tabel1){ FOR (hver række i tabel2){ Hvis join betingelser matcher SÅ concatener tabel1Række med tabel2Række ELLERS ingenting }} Bedre end den første

Nestede loop join Bedre: FOR (hver page i tabel1) { FOR (hver række i tabel1-page){ FOR (hver række i tabel2-page){ Hvis join betingelser matcher SÅ concatener tabel1Række med tabel2Række ELLERS ingenting }}}} Udnytter bufferen, dvs færre læseoperationer

Single loop join Slide Hvis der findes et index på en af join betingelserne kan følgende algoritme bruges FOR (hver række i tabel1){ Slå op i indeks for tabel2 Hvis tupel eksisterer SÅ concatener tabel1Række med tabel2Række ELLERS ingenting }} (den kan selvfølgelig optimeres )

SQL - join Sort-merge join Først sorteres tabellerne, for siden at flettes Hash join Der beregnes en hash værdi for hver enkelt række i de 2 tabeller.

Slide Sort merge JOIN : PROJEKTION

Slide Forenings mængde Fællesmængde Mængdedifferens (R-S)

Query optimering Slide Hvad sker der så når der er en kombination af join, select og projektion ? Som f.eks.: SELECT P.Pnumber, P.Dnum, E.Lname, E.Address, E.Bdate FROM PROJECT AS P, DEPARTMENT AS D, EMPLOYEE AS E WHERE P.Dnum= D.Dnumber AND D.Mgrssn = E.Ssn AND P.Plocation = 'Stafford' Svar : Queryen splittes op

Slide SELECT P.Pnumber, P.Dnum, E.Lname, E.Address, E.Bdate FROM PROJECT AS P, DEPARTMENT AS D, EMPLOYEE AS E WHERE P.Dnum= D.Dnumber AND D.Mgrssn = E.Ssn AND P.Plocation = 'Stafford'

Generelle transformations regler Slide

Generelle transformations regler Slide

Generelle transformations regler Slide

Hvordan gør vi så (Algoritme)? Slide

Eksempel Slide SELECT Lname FROM Employee, Works_on, Project Where Pname = ’Aquarius’ AND Pnumber=Pno AND Essn=Ssn AND Bdate > ’ ’ π Lname (σ Pname= ’’Aguaris’ AND Bdate >’ ’ AND Pnumber=Pno AND Essn=Ssn ((EMPLOYEE X WORKS_ON) X PROJECT)))

Slide SELECT Lname FROM Employee, Works_on, Project Where Pname = ’Aquarius’ AND Pnumber=Pno AND Essn=Ssn AND Bdate > ’ ’

Slide SELECT Lname FROM Employee, Works_on, Project Where Pname = ’Aquarius’ AND Pnumber=Pno AND Essn=Ssn AND Bdate > ’ ’

Eksempel ExecutionPlan Slide

Slide