PostgreSQL - Forklar

Innholdsfortegnelse
Det er et punkt når vi arbeider med databaser at det ikke lenger bare er å skaffe informasjonen som angår oss, men hvordan vi får det, siden avhengig av konstruksjonen av spørringen vil det være mengden ressurser som spørringen vår bruker, for dette PostgreSQL tilbyr oss FORKLARE et verktøy som vi ser hvordan spørringen vår utføres på og alt den representerer.
FORKLAR og FORKLAR ANALYSE
Disse to verktøyene er hovedbasen når vi leter etter ytelsesproblemene til spørringene vi utfører, til tross for at de er nyttige, er de ikke noe nytt siden de har blitt inkludert i PostgreSQL Siden de første årene, men dette betyr ikke at de er foreldet eller utdatert, tvert imot har de modnet til å bli et verktøy som er i stand til å produsere de mest detaljerte rapportene om utførelse av søk, inkludert resultatene som verktøyet kan kaste oppnådd. i formater som XML eller JSON for senere analyse med andre verktøy.
I pgAdmin vi har et alternativ tilgjengelig for å få en graf over resultatet av FORKLARE slik at vi i stedet for å analysere tall kan se en graf og på denne måten lettere oppdage problemene med spørringen og mulighetene for forbedring.
Forskjeller mellom FORKLAR og FORKLAR ANALYSE
Kanskje begge begrepene brukes som om de var det samme, men mellom dem har vi for eksempel forskjeller FORKLARE gir oss en ide om hvordan spørringsplanleggeren har tenkt å utføre spørringen, men den utfører den ikke i stedet FORKLAR ANALYSE hvis du utfører det, og det gir oss en sammenligning mellom forventet ytelse og den virkelige ytelsen oppnådd i utførelsen. Ved lansering FORKLARE via pgAdmin Vi kan velge mellom FORKLAR og FORKLAR ANALYSE, noe som vil gi oss resultatet av hver og en når vi velger dem
La oss se et eksempel på hvordan du bruker dette verktøyet, for dette skal vi bruke FORKLAR ANALYSE, la oss se følgende kode:
 FORKLAR ANALYSER SELECT 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 veldig enkel forespørsel der vi summerer feltene, grupperer og bestiller i henhold til et av feltene, det vi vil få som resultat av resultatanalysen vil være følgende:
 GroupAggregate (kostnad = 111,29… 151,93 rader = 1478) (faktisk tid = 6,099… 10,194 rader = 14 sløyfer = 1) -> Sorter (kostnad = 111,29… 114,98 rader = 1478) (faktisk tid = 5,897… 6,565 rader = 1478 sløyfer = 1) Sorteringsnøkkel: ("venstre" ((tract_id) :: tekst, 5)) Sorteringsmetode: quicksort Minne: 136kB -> Seq Scan på hisp_pop (kostnad = 0,00… 33,48 rader = 1478) (faktisk tid = 0,390 … 2,693 rader = 1478 sløyfer = 1) Total kjøretid: 10,370 ms 

Hvis vi legger en liten innsats i å lese, blir resultatene gradvis lettere for oss å lese, men hvis vi ikke har mye tid eller resultatet er veldig omfattende, kan vi alltid se grafen.

Som vi kan se, er det raskere å se resultatene på et grafisk nivå, det ideelle er å bruke begge verktøyene og utfylle begge synspunkter, det er den samme informasjonen bare med forskjellige vinkler, det vil være purister som bare vil jobbe med kommandokonsollen, og det er greit. Imidlertid må en omfattende databasepersonell bruke alle verktøyene han disponerer for å forbedre arbeidet sitt.
Med dette fullfører vi opplæringen, med bruk av disse verktøyene vil vi allerede være i stand til å oppdage årsakene som gjør at spørsmålene våre ikke blir raske eller mulighetene for forbedring for å optimalisere spørringen vår.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave