Ki taku whakaaro, kaore i rite ki nga putanga o mua, ko PostgreSQL 12 kaore i roto i te kotahi, e rua ranei nga ahuatanga hurihuri (penei i te wehewehenga, i te whakarara patai ranei). I korero ahau i tetahi wa ko te waahanga nui o PostgreSQL 12 he nui ake te pumau. Ehara i te mea e hiahia ana koe ina whakahaere koe i nga raraunga whakahirahira o to pakihi?
Engari kaore a PostgreSQL 12 e mutu i reira: me nga ahuatanga hou me nga whakapainga, ka pai ake te mahi o nga tono, a ko nga mea katoa e hiahia ana koe ki te whakapai ake!
(Ae, tera pea ka hanga ano i nga taurangi, engari i tenei tukunga kaore i te mataku penei i mua.)
He rawe ki te whakahou i te PostgreSQL me te pai tonu ki nga whakapainga nui me te kore ngangau. I etahi tau kua pahure ake nei, i arotakehia e ahau tetahi whakahoutanga mai i te PostgreSQL 9.4 ki te PostgreSQL 10 me te kite i te tere o te tono na te pai ake o te whakarara uiui i roto i te PostgreSQL 10. A, ko te mea tino nui, tata kaore he mea i hiahiatia mai i ahau (whakaturia he tawhā whirihoranga. max_parallel_workers
).
Whakaae, he watea ka pai ake te mahi o nga tono i muri tonu i te whakahoutanga. A ka whakapau kaha matou ki te pai ki nga kaiwhakamahi, na te mea he maha ake a PostgreSQL.
Na me pehea e taea ai e te whakahoutanga ngawari ki te PostgreSQL 12 te koa koe? Ka korerotia e ahau ki a koe inaianei.
Nga whakapainga taupū nui
Ki te kore he tohu tohu, karekau he papaaarangi e haere tawhiti. Me pehea e taea ai e koe te rapu tere i nga korero? Ka karangahia te punaha taupū taketake a PostgreSQL
Ka whakamahi noa matou i te kaiwhakahaere CREATE INDEX ON some_table (some_column)
, a he maha nga mahi a PostgreSQL kia mau tonu ai te taurangi i te wa e whakauru tonu ana, e whakahou ana, e whakakore ana i nga uara. Ka mahi nga mea katoa i a ia ano, me te mea he makutu.
Engari ko nga tohu tohu PostgreSQL kotahi te raru - ko ratou
Ko te PostgreSQL 12 he tino whakapai ake i nga mahi o nga tohu-rakau B, a ko nga whakamatautau me nga tohu tohu penei i te TPC-C kua whakaatu ko te toharite 40% iti ake te waahi kua whakamahia inaianei. Inaianei ka iti ake te wa e noho ana matou ki te pupuri i nga tohu tohu B-rakau (ara, ki nga mahi tuhi), engari ki te tiki raraunga, na te mea he iti ake nga tohu.
Nga tono e whakahōu kaha ana i o raatau ripanga - te nuinga o nga tono OLTP (
Ko etahi o nga rautaki whakamohoatanga e hiahia ana ki te hanga ano i nga tohu tohu B-rakau hei painga ki enei painga (hei tauira.
He whakapai ake ano ki te hanganga taupū i PostgreSQL 12. Ko tetahi atu mea i reira he makutu -
Kua whakahekehia e PostgreSQL 12 te nui o nga rekoata WAL i hangaia e nga tohu tohu GiST, GIN, me SP-GIST i te wa o te hanga taurangi. He maha nga painga ka kitea e tenei: He iti ake te mokowā mokowhiti mo nga rekoata WAL, ka tere ake te purei o nga raraunga, penei i te wa o te whakaoranga kino, te whakaora i te waa-waahi ranei. Mena kei te whakamahi koe i nga tohu tohu i roto i o tono (hei tauira, ko nga tono mokowhiti-a-PostGIS e whakamahi ana i te tohu tohu GiST), koinei tetahi atu waahanga ka tino pai ake te wheako me te kore e kaha ki a koe.
Wehewehenga - nui ake, pai ake, tere ake
PostgreSQL 10 i whakauruhia
I roto i te PostgreSQL 12, kua tino pai ake te mahinga o te punaha wehewehe, ina koa he mano nga wehewehenga kei te tepu. Hei tauira, mena ka pa te patai ki etahi waahanga noa iho o te ripanga me nga mano tini, ka tere ake te mahi. Ehara i te mea kua pai ake te mahi mo enei momo patai. Ka kite ano koe he pehea te tere o nga mahi INSERT i runga i nga ripanga me nga wehewehenga maha.
Te tuhi raraunga ma te whakamahi
He mihi ki enei painga, ka taea e PostgreSQL te penapena i nga huinga raraunga nui ake, ka ngawari ake te tiki. A kaore he kaha ki a koe. Mena he maha nga waahanga o te tono, penei i te tuhi i nga raraunga raupapa wa, ma te whakahou ngawari ka tino pai ake te mahi.
Ahakoa ehara tenei i te "whakapai ake me te pai" te whakapai ake, ka taea e PostgreSQL 12 te hanga i nga taviri ke e tohutoro ana i nga ripanga wehewehe, kia pai ai te mahi wehewehe.
NA nga patai kua pai ake
Ahea
He maha nga wa ka kitea e au ko te hunga hou ki te SQL e pai ana ki te whakamahi i nga CTE; mena ka tuhia e koe tetahi huarahi, he ahua kei te tuhi koe i tetahi kaupapa whakahirahira. Ko ahau ake, i pai ahau ki te tuhi ano i enei patai ki te huri haere kaore CTE me te whakanui i te hua. Inaianei kua rereke nga mea katoa.
Ko te PostgreSQL 12 ka taea e koe te whakauru i tetahi momo CTE motuhake kaore he paanga taha (SELECT
), ka whakamahia kotahi anake tata ki te mutunga o te tono. Mena ka whai tonu ahau i nga patai CTE i tuhia ano e au, ka taka te nuinga ki tenei waahanga. Ka awhina tenei i nga kaiwhakawhanake ki te tuhi i nga waehere marama ka tere tere.
I tua atu, ko te PostgreSQL 12 te whakapai ake i te mahi SQL ake, me te kore koe e mahi i tetahi mea. A ahakoa kare pea au e arotau i enei patai inaianei, he rawe kei te mahi tonu a PostgreSQL ki te arotautanga patai.
Tika-i-Wa (JIT) - taunoa inaianei
I runga i nga punaha PostgreSQL 12 me te tautoko
I te mea ka taea te taunoa a JIT i PostgreSQL 12, ka pai ake te mahi i a ia ano, engari ka tūtohu ahau ki te whakamatautau i te tono ki PostgreSQL 11, nana i whakauru a JIT, ki te ine i nga mahi uiui me te kite mena ka hiahia koe ki te whakatika i tetahi mea.
He aha te toenga o nga ahuatanga hou o PostgreSQL 12?
He maha nga ahuatanga hou a PostgreSQL 12, mai i te kaha ki te tirotiro i nga raraunga JSON ma te whakamahi i nga whakaaturanga ara SQL/JSON paerewa ki te whakamotuhēhēnga-maha me te tawhā. clientcert=verify-full
, hanga poupou me te maha atu. Kati mo te pou motuhake.
Pērā i te PostgreSQL 10, PostgreSQL 12 ka pai ake te mahi katoa i muri tonu i te whakahoutanga. Ko te tikanga, ka taea e koe te whai i to ara ake - whakamatautauhia te tono i raro i nga ahuatanga rite i runga i te punaha whakaputa i mua i te whakaahei i nga whakapainga ake, pera i taku mahi ki a PostgreSQL 10. Ahakoa kua pai ke atu a PostgreSQL 12 i taku i tumanako ai, kaua e mangere ki te whakamatautau. tono tino, i mua i te tuku ki roto ki te hanga.
Source: will.com