„PostgreSQL“ - paaiškinkite

Turinys
Kai dirbame su duomenų bazėmis, yra taškas, kad ne tik gauname mums rūpimą informaciją, bet ir kaip ją gauname, nes priklausomai nuo užklausos konstrukcijos tai bus išteklių, kuriuos sunaudoja mūsų užklausa, kiekis. „PostgreSQL“ mums siūlo AIŠKINTI įrankis, su kuriuo matome, kaip vykdoma mūsų užklausa ir viskas, ką ji atspindi.
AIŠKINTI ir AIŠKINTI ANALIZĘ
Šie du įrankiai yra pagrindinis pagrindas ieškant mūsų atliekamų užklausų našumo problemų, nepaisant jų naudingumo, jie nėra kažkas naujo, nes jie buvo įtraukti į „PostgreSQL“ Nuo ankstyvųjų metų, tačiau tai nereiškia, kad jie yra pasenę ar pasenę, priešingai, jie subrendo ir tapo įrankiu, galinčiu parengti išsamiausias užklausų vykdymo ataskaitas, įskaitant įrankio pateiktus rezultatus. gauti tokiais formatais kaip XML arba JSONAS vėlesnei analizei naudojant kitas priemones.
In pgAdmin mes turime galimybę gauti rezultato grafiką AIŠKINTI kad užuot analizavę skaičius, galėtume pamatyti grafiką ir tokiu būdu lengviau aptikti užklausos problemas bei tobulėjimo galimybes.
Skirtumai tarp EXPLAIN ir EXPLAIN ANALYZE
Galbūt abu terminai vartojami taip, lyg jie būtų tas pats, tačiau, pavyzdžiui, mes turime skirtumų AIŠKINTI suteikia mums idėją, kaip užklausų planuotojas ketina vykdyti užklausą, tačiau ji jos nevykdo AIŠKINTI ANALIZĘ jei jį įvykdysite ir jis suteiks mums palyginimą tarp tikėtino ir realaus vykdymo rezultato. Paleidžiant AIŠKINTI per pgAdmin Mes galime pasirinkti tarp EXPLAIN ir EXPLAIN ANALYZE, o tai duos mums kiekvieno pasirinkimo rezultatą.
Pažiūrėkime, kaip naudoti šį įrankį, tam mes ir naudosime AIŠKINTI ANALIZĘ, pažiūrėkime šį kodą:
 EXPLAIN ANALYZE SELECT kairėje (trakto_id, 5) Kaip apskrities_koksas, SUM (ispaniškas_ar_latino) Kaip visuma, SUM (balta_viena) Kaip tot_balta, SUM (sujungti (ispaniškas_or_latino, 0) - susilieti (balta_alone, 0)) AS_nubaltas_bendras apskrities_kodas ***** BY apskrities_kodas; 

Tai labai paprasta užklausa, kurioje mes susumuojame laukus, grupuojame ir užsakome pagal vieną iš laukų, o tai, ką gausime atlikę veiklos analizę, bus šie:
 „GroupAggregate“ (kaina = 111,29… 151,93 eilutės = 1478) (faktinis laikas = 6,099… 10,194 eilutės = 14 kilpų = 1) -> Rūšiuoti (kaina = 111,29… 114,98 eilutės = 1478) (faktinis laikas = 5,897… 6,565 eilutės = 1478 kilpos = 1) Rūšiavimo raktas: ("kairėn" ((trakto_id) :: tekstas, 5)) Rūšiavimo metodas: greitasis Atmintis: 136kB -> Seq Scan on hisp_pop (kaina = 0,00… 33,48 eilutės = 1478) (faktinis laikas = 0,390… 2,693) eilutės = 1478 kilpos = 1) Bendras vykdymo laikas: 10 370 ms 

Jei įdėsime šiek tiek pastangų skaitydami, rezultatus palaipsniui tapsime lengviau skaitomi, tačiau jei neturime daug laiko arba rezultatas yra labai platus, visada galime matyti grafiką.

Kaip matome, rezultatus greičiau matyti grafiniu lygmeniu, idealiausia naudoti abi priemones ir papildyti abu požiūrio taškus, tai ta pati informacija tik skirtingais kampais, bus puristų, kurie nori tik dirbti su komandų pultu ir viskas gerai, tačiau visapusiškas duomenų bazės specialistas savo darbui tobulinti turi naudoti visas turimas priemones.
Baigę pamoką, naudodami šiuos įrankius mes jau galėsime aptikti priežastis, dėl kurių mūsų užklausos nėra greitos, arba galimybes patobulinti užklausą.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką
wave wave wave wave wave