I loʻu manatu, e le pei o faʻasalalauga talu ai, PostgreSQL 12 e le o iai se tasi pe lua faʻalavelave faʻalavelave (pei o le vaeluaga poʻo le fesili tutusa). Na ou ula i se tasi taimi o le vaega autu o PostgreSQL 12 e sili atu le mautu. E le o le mea lena e te manaʻomia pe a e pulea faʻamatalaga taua a lau pisinisi?
Ae o le PostgreSQL 12 e le muta ai iina: faʻatasi ai ma foliga fou ma faʻaleleia atili, o le a sili atu le lelei o talosaga, ma pau lava le mea e tatau ona e faia o le faʻaleleia!
(Ia, atonu e toe fausia faʻailoga, ae i lenei faʻasalalauga e le faʻafefe pei ona masani ai.)
O le a manaia le faʻaleleia o PostgreSQL ma vave fiafia i faʻaleleia atili e aunoa ma se faʻalavelave le manaʻomia. I ni nai tausaga talu ai, na ou toe iloiloina ai se faʻaleleia mai le PostgreSQL 9.4 i le PostgreSQL 10 ma vaʻai pe faʻafefea ona faʻavave le talosaga faʻafetai i le faʻaleleia atili o fesili i le PostgreSQL 10. Ma, sili ona taua, toetoe lava leai se mea na manaʻomia mai ia te aʻu (naʻo le setiina o se faʻatulagaga faʻatulagaina max_parallel_workers
).
Ioe, e faigofie pe a sili atu le lelei o talosaga pe a maeʻa le faʻaleleia. Ma matou taumafai malosi e faʻamalie tagata faʻaoga, aua o le PostgreSQL e tele ma sili atu.
E fa'afefea la ona e fiafia i se fa'afouga faigofie i le PostgreSQL 12? O le a ou ta'u atu nei.
Fa'aleleia atili o fa'asino igoa
A aunoa ma le faasino igoa, o le a le alu mamao se database. E fa'apefea ona e vave maua fa'amatalaga? PostgreSQL's fa'avae fa'asino igoa ua ta'ua
Matou te faʻaaogaina le faʻaoga CREATE INDEX ON some_table (some_column)
, ma PostgreSQL faia le tele o galuega e faʻatumauina le faʻamaufaʻailoga i le taimi nei aʻo matou faʻapipiʻi pea, faʻafouina, ma tape mea taua. O mea uma e galue na o ia, e pei o se togafiti.
Ae o le PostgreSQL index e tasi le faʻafitauli - latou
PostgreSQL 12 faʻaleleia atili le faʻatinoina o faʻamatalaga B-laau, ma faʻataʻitaʻiga ma faʻailoga e pei o le TPC-C ua faʻaalia ai i luga o le averesi 40% itiiti le avanoa ua faʻaaogaina nei. O le taimi nei matou te faʻaaluina le itiiti ifo o le taimi e le gata i le tausia o faʻamatalaga B-laau (o lona uiga, i luga o galuega tusitusi), ae faʻapea foʻi i le toe maua mai o faʻamaumauga, aua o faʻamaumauga e laʻititi tele.
Talosaga e fa'afou fa'afou a latou laulau - masani OLTP talosaga (
O nisi faiga fa'aleleia e mana'omia ai le toe fausia o fa'asino igoa B-laau e fa'aoga lelei ai nei fa'amanuiaga (eg.
O loʻo i ai isi faʻaleleia atili i le faʻavasegaina o atinaʻe i PostgreSQL 12. O le isi mea sa i ai se togafiti faataulaitu -
PostgreSQL 12 ua faʻaititia le pito i luga ole WAL faʻamaumauga o loʻo faia e GiST, GIN, ma SP-GIST faʻamaufaʻailoga i le taimi o le fausiaina o faʻamatalaga. E maua ai le tele o fa'amanuiaga fa'apitoa: O fa'amaumauga a le WAL e fa'aitiitia le avanoa o le tisiki, ma e vave ona toe ta'i fa'amaumauga, e pei o le taimi o fa'alavelave fa'afuase'i po'o le toe fa'aleleia o taimi. Afai e te faʻaogaina ia faʻasino igoa i au talosaga (mo se faʻataʻitaʻiga, PostGIS-based geospatial applications e faʻaaogaina tele le GiST index), o le isi lea mea e faʻaleleia atili ai le poto masani e aunoa ma se taumafaiga i lau vaega.
Vaevaega - tele, lelei, vave
PostgreSQL 10 faʻafeiloaʻi
I le PostgreSQL 12, o le faʻatinoga o le vaeluaga o faiga ua sili atu ona lelei, aemaise lava pe a iai le faitau afe o vaega i le laulau. Mo se faʻataʻitaʻiga, afai o se fesili e aʻafia ai naʻo ni nai vaega i totonu o se laulau ma le faitau afe o ia mea, o le a sili atu le saoasaoa. E le na'o le fa'aleleia o fa'atinoga mo nei ituaiga o fesili. E te va'aia fo'i le saosaoa o fa'agaioiga INSERT i luga o laulau e tele vaega.
Fa'amauina fa'amaumauga fa'aaoga
Faʻafetai i nei faʻamanuiaga, PostgreSQL faʻatagaina oe e teuina faʻamaumauga sili atu ma faʻafaigofie ona toe aumai. Ma e leai se taumafaiga i lau vaega. Afai o le talosaga e tele ni vaega, e pei o le pueina o faʻamaumauga o taimi, o se faʻaleleia faigofie o le a faʻaleleia atili ai lona faʻatinoga.
E ui e le o se "faʻaleleia ma fiafia" le faʻaleleia atili, PostgreSQL 12 e mafai ai ona e faia ni ki mai fafo e faʻasino ai laulau vaeluaga, faia le vaeluaga o se fiafiaga e galue ai.
FA'AI fesili fa'ato'a sili atu le lelei
Pe a
E masani ona ou iloa o tagata fou ile SQL e fiafia e faʻaoga CTE pe afai e te tusia i latou i se auala patino, e foliga mai o loʻo e tusia se polokalame taua. Ia te au lava ia, sa ou fiafia e toe tusi nei fesili e fealuai ai e aunoa ma CTE ma faʻateleina le gaosiga. O lea la ua ese mea uma.
PostgreSQL 12 faʻatagaina oe e faʻaogaina se ituaiga CTE patino e aunoa ma ni aʻafiaga (SELECT
), lea e na'o le tasi le fa'aoga e latalata ile fa'ai'uga ole talosaga. Afai ou te siakia fesili a le CTE na ou toe tusia, o le tele o na fesili o le a pa'ū i lenei vaega. E fesoasoani lea i le au atiaʻe e tusi manino le code lea e vave foi ona tamoʻe.
E le gata i lea, PostgreSQL 12 faʻamalosia le faʻatinoina o le SQL, e aunoa ma le faia o se mea. Ma e ui lava atonu o le a ou le manaʻomia le faʻamalieina o ia fesili i le taimi nei, e manaia le faʻaauau pea ona galue PostgreSQL i le suʻesuʻeina o fesili.
Na'o-i-Taimi (JIT) - ua faaletonu nei
I luga o PostgreSQL 12 faiga faʻatasi ma le lagolago
Talu ai o le JIT e mafai ona faʻaogaina i le PostgreSQL 12, o le a faʻaleleia atili le faʻatinoga, ae ou te fautuaina le suʻeina o le talosaga i le PostgreSQL 11, lea na faʻafeiloaʻi ai le JIT, e fua ai le faʻatinoga o fesili ma vaʻai pe e te manaʻomia le faʻalogoina o se mea.
Ae fa'afefea isi vaega fou i PostgreSQL 12?
PostgreSQL 12 o loʻo i ai le tele o foliga fou fou, mai le mafai ona suʻesuʻeina faʻamaumauga a le JSON e faʻaaoga ai faʻamatalaga masani SQL / JSON auala i le faʻamaoni faʻateleina ma se parakalafa clientcert=verify-full
, faia koluma ma sili atu. Ua lava mo se isi pou.
E pei o PostgreSQL 10, PostgreSQL 12 o le a faʻaleleia le faʻatinoga atoa i le taimi lava e maeʻa ai le faʻaleleia. O oe, ioe, e mafai ona i ai lau lava ala - faʻataʻitaʻi le talosaga i lalo o tulaga tutusa i luga o le gaosiga o le gaosiga aʻo leʻi mafai ona faʻaleleia atili, e pei ona ou faia i le PostgreSQL 10. E tusa lava pe ua sili atu ona mautu le PostgreSQL 12 nai lo le mea na ou faʻamoemoeina, aua le paie i le suʻega talosaga mae'ae'a, a'o le'i tu'uina atu i le gaosiga.
puna: www.habr.com