Cuprins
Există un punct când lucrăm cu baze de date că nu mai este doar obținerea informațiilor care ne preocupă, ci modul în care le obținem, întrucât, în funcție de construcția interogării, va fi cantitatea de resurse pe care interogarea noastră o consumă, pentru aceasta PostgreSQL ne oferă EXPLICA un instrument cu care vedem cum se execută interogarea noastră și tot ceea ce reprezintă.EXPLICAȚI și EXPLICAȚI ANALIZA
Aceste două instrumente reprezintă baza principală atunci când căutăm problemele de performanță ale interogărilor pe care le realizăm, în ciuda utilității lor, acestea nu sunt ceva nou, deoarece au fost incluse în PostgreSQL Încă din primii săi ani, dar acest lucru nu înseamnă că sunt învechite sau depășite, dimpotrivă, s-au maturizat pentru a deveni un instrument capabil să producă cele mai detaliate rapoarte privind executarea interogărilor, inclusiv rezultatele aruncate de instrument. obținute.în formate precum XML sau JSON pentru analiză ulterioară cu alte instrumente.
În pgAdmin avem la dispoziție o opțiune pentru a obține un grafic al rezultatului EXPLICA astfel încât, în loc să analizăm numerele, putem vedea un grafic și în acest fel detectăm mai ușor problemele interogării și oportunitățile de îmbunătățire.
Diferențe între EXPLICAȚI și EXPLICAȚI ANALIZA
Poate că ambii termeni sunt folosiți ca și cum ar fi același lucru, dar între ei avem diferențe, de exemplu EXPLICA ne oferă o idee despre cum intenționează planificatorul de interogare să execute interogarea, însă nu o execută, în schimb EXPLICAȚI ANALIZA dacă îl executați și ne oferă o comparație între performanța așteptată și performanța reală obținută în execuție. La lansare EXPLICA prin intermediul pgAdmin Putem alege între EXPLAIN și EXPLAIN ANALYZE, care ne va oferi rezultatul fiecăruia pe măsură ce le selectăm
Să vedem un exemplu de utilizare a acestui instrument, pentru care vom folosi EXPLICAȚI ANALIZA, să vedem următorul cod:
EXPLAIN ANALYZE SELECT left (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_pop GROUP județ_cod ***** BY județ_cod;
Este o interogare foarte simplă în care însumăm câmpurile, grupăm și ordonăm în funcție de unul dintre câmpuri, ceea ce vom obține ca rezultat al analizei de performanță va fi următorul:
GroupAggregate (cost = 111,29 … 151,93 rânduri = 1478) (timp real = 6,099 … 10,194 rânduri = 14 bucle = 1) -> Sortare (cost = 111,29 … 114,48 rânduri = 1478) (timp real = 5,897 … 6,565 rânduri = 1478 bucle = 1) Tasta de sortare: („stânga” ((tract_id) :: text, 5)) Metoda de sortare: memorie rapidă: 136kB -> Scanare secvențială pe hisp_pop (cost = 0,00 … 33,48 rânduri = 1478) (timp real = 0,390 … 2,693 rânduri = 1478 bucle = 1) Runtime totală: 10.370 ms
Dacă depunem un efort mic în citire, rezultatele devin treptat mai ușor pentru noi de citit, totuși, dacă nu avem prea mult timp sau rezultatul este foarte extins, putem vedea întotdeauna graficul.
După cum putem vedea, este mai rapid să vezi rezultatele la un nivel grafic, idealul este să folosești ambele instrumente și să completezi ambele puncte de vedere, este aceeași informație doar cu unghiuri diferite, vor exista puristi care vor să lucreze doar cu consola de comandă și este în regulă. Cu toate acestea, un profesionist cuprinzător în baza de date trebuie să folosească toate instrumentele de care dispune pentru a-și îmbunătăți munca.
Cu aceasta terminăm tutorialul, cu utilizarea acestor instrumente vom fi deja în măsură să detectăm cauzele care fac ca interogările noastre să nu fie rapide sau oportunitățile de îmbunătățire pentru a ne optimiza interogarea.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv