PostgreSQL skaidymo pamoka

Postgresql Skaidymo Pamoka



Bet kurios duomenų bazės našumas yra viena metrika, į kurią reikia atsižvelgti siekiant veiksmingo patikimumo, ypač kai yra daug duomenų. Naudodami PostgreSQL turite sukurti lentelės skaidinius, kad sutaupytumėte laiko ir išteklių, reikalingų lentelei nuskaityti ieškant įrašo. Padalijus didelę lentelę į mažesnes dalis, reikia mažiau apsikeitimo atmintimi ir jūsų programa veiks geriau, nes taupo duomenų bazės operacijas.

Šis įrašas apima PostgreSQL skaidymą. Aptarsime įvairias skaidymo parinktis, kurias galite naudoti, ir pateiksime pavyzdžių, kaip jas geriau suprasti.

Kaip sukurti PostgreSQL skaidinius

Bet kurioje duomenų bazėje gali būti daug lentelių su keliais įrašais. Kad būtų lengviau valdyti, turėtumėte suskirstyti lenteles, o tai yra puiki ir rekomenduojama duomenų saugyklos tvarka, skirta optimizuoti duomenų bazę ir padidinti patikimumą. Galite sukurti skirtingus skaidinius, įskaitant sąrašą, diapazoną ir maišą. Išsamiai aptarkime kiekvieną.







1. Sąrašo skaidymas

Prieš svarstydami bet kokį skaidymą, turime sukurti lentelę, kurią naudosime skaidiniams. Kurdami lentelę laikykitės pateiktos visų skaidinių sintaksės:



CREATE TABLE lentelės_pavadinimas(1 stulpelio duomenų_tipas, 2 stulpelio duomenų_tipas) PARTITION BY (skilties_raktas);

„Table_name“ yra jūsų lentelės pavadinimas kartu su skirtingais lentelės stulpeliais ir jų duomenų tipais. „partition_key“ yra stulpelis, pagal kurį bus skirstoma į skaidinį. Pavyzdžiui, toliau pateiktame paveikslėlyje parodyta, kad sukūrėme „kursų“ lentelę su trimis stulpeliais. Be to, mūsų skirstymo tipas yra SĄRAŠAS, o kaip skirstymo raktą pasirenkame fakulteto stulpelį:







Sukūrę lentelę, turime sukurti skirtingus skaidinius, kurių mums reikia. Norėdami tai padaryti, atlikite šią sintaksę:

CREATE TABLE partition_table PARTITION OF main_table FOR VALUES IN (VALUE);

Pavyzdžiui, pirmas pavyzdys kitame paveikslėlyje rodo, kad sukūrėme skaidinių lentelę pavadinimu „Fset“, kurioje yra visos „fakulteto“ stulpelio reikšmės, kurias pasirinkome kaip skaidinio raktą, kurio reikšmė yra „FSET“. Panašią logiką naudojome ir kitiems dviems sukurtiems skaidiniams.



Kai turėsite skaidinius, galite įterpti reikšmes į pagrindinę mūsų sukurtą lentelę. Kiekviena įterpta reikšmė atitinka atitinkamą skaidymą pagal pasirinkto skaidinio rakto reikšmes.

Jei išvardysime visus įrašus pagrindinėje lentelėje, pamatysime, kad joje yra visi mūsų įterpti įrašai.

Norėdami patikrinti, ar sėkmingai sukūrėme skaidinius, patikrinkime kiekvieno sukurto skaidinio įrašus.

Atkreipkite dėmesį, kaip kiekvienoje padalintoje lentelėje yra tik tie įrašai, kurie atitinka kriterijus, kurie yra apibrėžti skaidant. Taip veikia skaidymas pagal sąrašą.

2. Diapazono skaidymas

Kitas skirsnių kūrimo kriterijus yra parinkties RANGE naudojimas. Tam turime nurodyti diapazono pradžios ir pabaigos reikšmes. Šio metodo naudojimas yra idealus dirbant su datomis.

Pagrindinės lentelės kūrimo sintaksė yra tokia:

CREATE TABLE lentelės_pavadinimas(1 stulpelio duomenų_tipas, 2 stulpelio duomenų_tipas) PARTITION BY RANGE (skilties_raktas);

Sukūrėme lentelę „cust_orders“ ir nurodėme ją naudoti kaip „partition_key“ datą.

Norėdami sukurti skaidinius, naudokite šią sintaksę:

CREATE TABLE partition_table PAGRINDINĖS_LENTELĖS SKYRIUS VERTĖMS NUO (pradžios_vertė) IKI (pabaigos_vertė);

Apibrėžėme savo skaidinius, kad jie veiktų kas ketvirtį, naudodami stulpelį „data“.

Sukūrus visus skaidinius ir įvedus duomenis, mūsų lentelė atrodo taip:

Jei patikrinsime įrašus sukurtuose skaidiniuose, patikrinsime, ar mūsų skaidymas veikia, ir turime tik atitinkamus įrašus pagal mūsų nurodytus skaidymo kriterijus. Visi nauji įrašai, kuriuos pridedate prie lentelės, automatiškai pridedami prie atitinkamo skaidinio.

3. Maišos skaidymas

Paskutinis skirstymo kriterijus, kurį aptarsime, yra maišos naudojimas. Greitai sukurkime pagrindinę lentelę naudodami šią sintaksę:

CREATE TABLE lentelės_pavadinimas(1 stulpelio duomenų_tipas, 2 stulpelio duomenų_tipas) PARTITION BY HASH (skilties_raktas);

Skaičiuodami su maiša, turite pateikti modulį ir likutį, eilutes padalyti iš jūsų nurodytos „partition_key“ maišos reikšmės. Mūsų atveju naudojame 4 modulį.

Mūsų sintaksė yra tokia:

CREATE TABLE partition_table PAGRINDINĖS_LENTELĖS SKYRIUS FOR VERTĖS SU (MODULUS num1, REMAINDER num2);

Mūsų pertvaros yra tokios:

„Main_table“ jame yra įrašai, kurie rodomi taip:

Mes galime greitai pasiekti sukurtų skaidinių įrašus ir patikrinti, ar mūsų skaidymas veikia.

Išvada

PostgreSQL skaidiniai yra patogus būdas optimizuoti duomenų bazę, siekiant sutaupyti laiko ir padidinti patikimumą. Išsamiai aptarėme skaidymą, įskaitant įvairias galimas parinktis. Be to, mes pateikėme pavyzdžius, kaip įdiegti skaidinius. Išbandykite juos!