Ilusat reedet kõigile! Kursuse alguseni jääb järjest vähem aega
Arengu etapis
PostgreSQL 10-s nägime "deklaratiivse partitsiooni" sündi, mis on mõeldud paljude probleemide lahendamiseks, mida vana pärimismeetodi abil ei saanud lahendada. See tõi kaasa palju võimsama tööriista, mis võimaldas andmeid horisontaalselt jagada!
Funktsioonide võrdlus
PostgreSQL 11 tutvustab muljetavaldavat komplekti uusi funktsioone, mis aitavad parandada jõudlust ja muudavad partitsioonidega tabelid rakenduste jaoks läbipaistvamaks.
1. Piiravate erandite kasutamine
2. Lisab ainult sõlmed
3. Ainult partitsioonitud tabeli jaoks, mis viitab partitsioonita tabelile
4. Indeksid peavad sisaldama kõiki partitsiooni võtmeveerge
5. Lõikepiirangud mõlemal küljel peavad ühtima
Производительность
Meil on ka siin häid uudiseid! Lisatud uus meetod WHERE
. Eelmine algoritm kontrollis omakorda iga sektsiooni, et teha kindlaks, kas see võib tingimusele vastata WHERE
. See tõi kaasa planeerimisaja täiendava pikenemise, kuna lõikude arv suurenes.
Pärimise teel partitsiooniga 9.6-s toimus korteežide partitsioonideks marsruutimine tavaliselt triggerfunktsiooni kirjutamise teel, mis sisaldas rida IF-lauseid, et sisestada korteež õigesse partitsiooni. Nende funktsioonide täitmine võib olla väga aeglane. Versioonis 10 lisatud deklaratiivse partitsiooniga töötab see palju kiiremini.
Kasutades 100 partitsiooniga jaotatud tabelit, saame hinnata 10 miljoni rea laadimist 1 BIGINT veeru ja 5 INT veeruga tabelisse.
Selle tabeli päringute toimivus ühe indekseeritud kirje leidmiseks ja DML-i käivitamine ühe kirjega manipuleerimiseks (kasutades ainult ühte protsessorit):
Siin näeme, et iga toimingu jõudlus on alates PG 9.6-st oluliselt suurenenud. Taotlused SELECT
näevad palju paremad välja, eriti need, mis suudavad päringu planeerimise ajal mitut partitsiooni välistada. See tähendab, et planeerija võib vahele jätta palju tööd, mida ta oleks pidanud varem tegema. Näiteks ei ehitata enam radu mittevajalikele lõikudele.
Järeldus
Tabeli partitsioonid on muutumas PostgreSQL-i väga võimsaks funktsiooniks. See võimaldab teil andmeid kiiresti võrgus kuvada ja võrguühenduseta muuta, ootamata aeglaste ja suurte DML-i toimingute lõpuleviimist.. See tähendab ka seda, et seotud andmeid saab koos salvestada, mis tähendab, et vajalikele andmetele pääseb juurde palju tõhusamalt. Selles versioonis tehtud täiustused poleks olnud võimalikud ilma arendajate, ülevaatajate ja volitajateta, kes on kõigi nende funktsioonide kallal väsimatult töötanud.
Aitäh neile kõigile! PostgreSQL 11 näeb fantastiline välja!
Siin on selline lühike, kuid üsna huvitav artikkel. Jagage oma kommentaare ja ärge unustage registreeruda
Allikas: www.habr.com