PostgreSQL - Forklar

Indholdsfortegnelse
Der er et punkt, når vi arbejder med databaser, at det ikke længere bare er at indhente de oplysninger, der vedrører os, men hvordan vi får det, da det afhængigt af konstruktionen af ​​forespørgslen vil være mængden af ​​ressourcer, som vores forespørgsel forbruger, til dette PostgreSQL tilbyder os FORKLARE et værktøj, hvormed vi ser, hvordan vores forespørgsel udføres og alt, hvad den repræsenterer.
FORKLAR og FORKLAR ANALYSE
Disse to værktøjer er hovedbasen, når vi leder efter ydelsesproblemerne ved de forespørgsler, vi udfører, på trods af deres anvendelighed er de ikke noget nyt, da de er inkluderet i PostgreSQL Siden de første år, men det betyder ikke, at de er forældede eller forældede, tværtimod er de modnet til at blive et værktøj, der er i stand til at producere de mest detaljerede rapporter om udførelse af forespørgsler, herunder de resultater, værktøjet kan kaste opnået. i formater som XML eller JSON til senere analyse med andre værktøjer.
I pgAdmin vi har en mulighed for at få en graf over resultatet af FORKLARE så vi i stedet for at analysere tal kan se en graf og på denne måde lettere opdage problemerne med forespørgslen og mulighederne for forbedring.
Forskelle mellem FORKLAR og FORKLAR ANALYSE
Måske bruges begge udtryk som om de var det samme, men mellem dem har vi f.eks. Forskelle FORKLARE giver os en idé om, hvordan forespørgselsplanlæggeren har til hensigt at udføre forespørgslen, men den udfører den ikke i stedet FORKLAR ANALYSE hvis du udfører det, og det giver os en sammenligning mellem den forventede ydelse og den reelle ydelse opnået i udførelsen. Ved lancering FORKLARE via pgAdmin Vi kan vælge mellem FORKLAR og FORKLAR ANALYSE, hvilket vil give os resultatet af hver enkelt, når vi vælger dem
Lad os se et eksempel på, hvordan du bruger dette værktøj, til dette vil vi bruge FORKLAR ANALYSE, lad os se følgende kode:
 FORKLAR ANALYS VÆLG venstre (tract_id, 5) As county_code, SUM (hispanic_or_latino) As tot, SUM (white_alone) As tot_white, SUM (coalesce (hispanic_or_latino, 0) - coalesce (white_alone, 0)) AS non_white FROM census.hisp_ county_code ***** BY county_code; 

Det er en meget enkel forespørgsel, hvor vi summerer felterne, grupperer og bestiller i henhold til et af felterne, hvad vi vil opnå som resultat af præstationsanalysen vil være følgende:
 GroupAggregate (pris = 111,29… 151,93 rækker = 1478) (faktisk tid = 6,099… 10,194 rækker = 14 sløjfer = 1) -> Sorter (pris = 111,29… 114,98 rækker = 1478) (faktisk tid = 5,897… 6,565 rækker = 1478 sløjfer = 1) Sorter nøgle: ("venstre" ((trakt_id) :: tekst, 5)) Sorteringsmetode: kvicksort Hukommelse: 136kB -> Seq Scan på hisp_pop (pris = 0,00… 33,48 rækker = 1478) (faktisk tid = 0,390 … 2,693 rækker = 1478 sløjfer = 1) Samlet driftstid: 10.370 ms 

Hvis vi gør en lille indsats for at læse, bliver resultaterne gradvist lettere for os at læse, men hvis vi ikke har meget tid, eller resultatet er meget omfattende, kan vi altid se grafen.

Som vi kan se, er det hurtigere at se resultaterne på et grafisk niveau, det ideelle er at bruge begge værktøjer og supplere begge synspunkter, det er kun de samme oplysninger med forskellige vinkler, der vil være purister, der kun vil arbejde med kommandokonsollen, og det er fint. En omfattende database -professionel skal dog bruge alle de værktøjer, han råder over, til at forbedre sit arbejde.
Med dette afslutter vi selvstudiet, med brugen af ​​disse værktøjer vil vi allerede være i stand til at opdage årsagerne til, at vores forespørgsler ikke bliver hurtige eller mulighederne for forbedring for at optimere vores forespørgsel.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave