Hauv kuv lub tswv yim, tsis zoo li kev tshaj tawm yav dhau los, PostgreSQL 12 tsis muaj ib lossis ob qhov kev hloov pauv (xws li kev faib lossis cov lus nug sib luag). Kuv ib zaug tso dag tias qhov tseem ceeb ntawm PostgreSQL 12 yog qhov ruaj khov dua. Tsis yog qhov koj xav tau thaum koj tswj koj lub lag luam cov ntaub ntawv tseem ceeb?
Tab sis PostgreSQL 12 tsis nres qhov ntawd: nrog cov yam ntxwv tshiab thiab kev txhim kho, cov ntawv thov yuav ua tau zoo dua, thiab txhua yam koj yuav tau ua yog upgrade!
(Zoo, tej zaum rov tsim kho qhov ntsuas, tab sis hauv qhov kev tso tawm no tsis txaus ntshai li peb tau siv los.)
Nws yuav ua tau zoo los txhim kho PostgreSQL thiab tam sim ntawd txaus siab rau kev txhim kho tseem ceeb yam tsis muaj kev cuam tshuam tsis tsim nyog. Ob peb xyoos dhau los, kuv tau tshuaj xyuas qhov kev hloov kho tshiab los ntawm PostgreSQL 9.4 rau PostgreSQL 10 thiab pom tias daim ntawv thov nce siab li cas ua tsaug rau cov lus nug zoo dua qub hauv PostgreSQL 10. Thiab, qhov tseem ceeb tshaj, yuav luag tsis muaj dab tsi los ntawm kuv (tsuas yog teeb tsa kev teeb tsa. max_parallel_workers
).
Pom zoo, nws yooj yim thaum cov ntawv thov ua haujlwm zoo dua tam sim tom qab hloov kho dua tshiab. Thiab peb sim ua kom txaus siab rau cov neeg siv, vim PostgreSQL muaj ntau thiab ntau ntawm lawv.
Yog li yuav ua li cas hloov kho yooj yim rau PostgreSQL 12 ua rau koj zoo siab? Kuv mam qhia koj tam sim no.
Kev txhim kho indexing loj
Yog tsis muaj indexing, database yuav tsis mus deb. Yuav ua li cas lwm tus koj tuaj yeem nrhiav tau cov ntaub ntawv sai? PostgreSQL's fundamental indexing system hu ua
Peb tsuas yog siv tus neeg teb xov tooj xwb CREATE INDEX ON some_table (some_column)
, thiab PostgreSQL ua haujlwm ntau los ua kom qhov ntsuas tau mus txog thaum peb niaj hnub ntxig, hloov kho, thiab tshem tawm qhov tseem ceeb. Txhua yam ua haujlwm ntawm nws tus kheej, zoo li yog los ntawm khawv koob.
Tab sis PostgreSQL indexes muaj ib qho teeb meem - lawv
PostgreSQL 12 txhim kho kev ua tau zoo ntawm B-ntoo indexes, thiab kev sim nrog cov qauv zoo li TPC-C tau pom tias qhov nruab nrab 40% tsawg dua qhov chaw tam sim no siv. Tam sim no peb siv sijhawm tsawg dua tsis yog rau kev tswj hwm B-ntoo indexes (uas yog, ntawm kev sau ntawv), tab sis kuj tseem khaws cov ntaub ntawv, vim tias cov indexes tsawg dua.
Cov ntawv thov uas nquag hloov kho lawv cov ntxhuav - feem ntau OLTP daim ntawv thov (
Qee cov tswv yim txhim kho yuav tsum tau rov tsim kho B-ntoo indexes kom tau txais txiaj ntsig ntawm cov txiaj ntsig no (xws li.
Muaj lwm yam kev txhim kho rau qhov indexing infrastructure hauv PostgreSQL 12. Lwm qhov uas muaj qee qhov khawv koob -
PostgreSQL 12 tau txo cov nyiaj siv ua haujlwm ntawm WAL cov ntaub ntawv uas tau tsim los ntawm GiST, GIN, thiab SP-GiST indexes thaum lub sij hawm tsim kho. Qhov no muab ntau yam txiaj ntsig zoo: WAL cov ntaub ntawv siv qhov chaw disk tsawg dua, thiab cov ntaub ntawv rov ua dua sai dua, xws li thaum muaj kev puas tsuaj rov qab los yog rov qab los ntawm lub sijhawm. Yog tias koj siv cov kev ntsuas zoo li no hauv koj daim ntawv thov (piv txwv li PostGIS-based geospatial applications siv GiST Performance index ntau), qhov no yog lwm qhov tshwj xeeb uas yuav txhim kho cov kev paub dhau los yam tsis muaj kev siv zog ntawm koj li.
Kev faib tawm - loj dua, zoo dua, nrawm dua
PostgreSQL 10 qhia
Hauv PostgreSQL 12, qhov kev ua tau zoo ntawm qhov kev faib tawm tau ua tau zoo dua, tshwj xeeb tshaj yog tias muaj ntau txhiab qhov kev faib tawm hauv lub rooj. Piv txwv li, yog tias cov lus nug cuam tshuam tsuas yog ob peb qhov kev faib hauv ib lub rooj nrog ntau txhiab tus ntawm lawv, nws yuav ua tiav sai dua. Kev ua tau zoo tsis yog txhim kho rau cov lus nug no xwb. Koj tseem yuav pom tias kev ua haujlwm INSERT sai npaum li cas ntawm cov rooj nrog ntau qhov kev faib tawm.
Sau cov ntaub ntawv siv
Ua tsaug rau cov txiaj ntsig zoo no, PostgreSQL tso cai rau koj khaws cov ntaub ntawv loj dua thiab ua rau lawv yooj yim dua los khaws. Thiab tsis muaj kev rau siab rau koj feem. Yog tias daim ntawv thov muaj ntau qhov sib faib, xws li cov ntaub ntawv teev cov sijhawm teev tseg, kev hloov kho yooj yim yuav ua kom nws qhov kev ua tau zoo.
Thaum qhov no tsis yog qhov "kho kom zoo dua thiab txaus siab" kev txhim kho, PostgreSQL 12 tso cai rau koj los tsim cov yuam sij txawv teb chaws uas siv cov lus sib faib, ua kom muaj kev txaus siab ua haujlwm nrog.
Nrog cov lus nug tsuas yog tau txais txiaj ntsig zoo dua
Thaum
Kuv feem ntau pom tias cov neeg tshiab rau SQL nyiam siv CTEs; yog tias koj sau lawv ib txoj hauv kev, nws zoo li koj tab tom sau qhov tseem ceeb. Tus kheej, Kuv nyiam sau cov lus nug no kom tau txais ib puag ncig tsis muaj CTE thiab nce productivity. Tam sim no txhua yam txawv.
PostgreSQL 12 tso cai rau koj los sau ib hom CTE yam tsis muaj kev phiv (SELECT
), uas tsuas yog siv ib zaug nyob ze qhov kawg ntawm qhov kev thov. Yog tias kuv khaws cia cov lus nug CTE kuv rov sau dua, feem ntau ntawm lawv yuav poob rau hauv pawg no. Qhov no pab cov neeg tsim khoom sau cov lej meej uas tam sim no tseem ua haujlwm sai.
Ntxiv mus, PostgreSQL 12 optimizes SQL ua nws tus kheej, tsis tas koj yuav tsum ua dab tsi. Thiab txawm hais tias kuv tej zaum yuav tsis tas yuav ua kom zoo dua cov lus nug tam sim no, nws zoo heev uas PostgreSQL tseem ua hauj lwm rau cov lus nug optimization.
Just-in-Time (JIT) - tam sim no default
Ntawm PostgreSQL 12 tshuab nrog kev txhawb nqa
Txij li thaum JIT tau qhib los ntawm lub neej ntawd hauv PostgreSQL 12, kev ua tau zoo yuav txhim kho ntawm nws tus kheej, tab sis kuv pom zoo kom sim cov ntawv thov hauv PostgreSQL 11, uas tau qhia txog JIT, los ntsuas cov lus nug kev ua tau zoo thiab saib seb koj xav tau dab tsi.
Yuav ua li cas txog qhov seem ntawm cov yam ntxwv tshiab hauv PostgreSQL 12?
PostgreSQL 12 muaj ib tuj ntawm cov yam ntxwv tshiab, los ntawm lub peev xwm los tshuaj xyuas JSON cov ntaub ntawv siv tus qauv SQL / JSON txoj kev qhia mus rau ntau qhov kev lees paub nrog qhov tsis muaj clientcert=verify-full
, tsim kab thiab ntau ntxiv. Txaus rau tus ncej cais.
Zoo li PostgreSQL 10, PostgreSQL 12 yuav txhim kho kev ua tau zoo tag nrho tam sim ntawd tom qab hloov kho. Koj, tau kawg, tuaj yeem muaj koj tus kheej txoj hauv kev - sim daim ntawv thov nyob rau hauv cov xwm txheej zoo sib xws ntawm cov txheej txheem tsim khoom ua ntej ua kom muaj kev txhim kho, zoo li kuv tau ua nrog PostgreSQL 10. Txawm tias PostgreSQL 12 twb ruaj khov dua li kuv xav, tsis txhob tub nkeeg hauv kev sim. daim ntawv thov kom huv si, ua ntej tso lawv mus rau hauv ntau lawm.
Tau qhov twg los: www.hab.com