Kā darbojas sadalīšana PostgreSQL iekšienē?
sobes.tech AI
Atbilde no AI
PostgreSQL dalījums tiek īstenots, izmantojot vecāku un bērnu tabulu koncepciju (partitioned tables un partitions). Zem motora, izveidojot dalāmo tabulu, tiek izveidota vecāku tabula bez datiem, un dati fiziski tiek glabāti bērnu tabulās, katra atbilstot noteiktam diapazonam vai vērtību sarakstam (range/list partitioning).
Kad ienāk vaicājums par ievietošanu vai atlasi, vaicājumu plānotājs nosaka, kurā daļā dati nonāks, izmantojot dalīšanas noteikumus. Tas ļauj ievērojami samazināt skenējamo datu apjomu un uzlabot veiktspēju.
Piemērs: ja ir pasūtījumu tabula, kas ir sadalīta pēc datuma, vaicājumi par pasūtījumiem konkrētam mēnesim izmantos tikai atbilstošo daļu, nevis visu tabulu.
Iekšēji PostgreSQL izmanto mantošanu un trigerus datu maršrutēšanai, un no versijas 10 — efektīvāku mehānismu ar atbalstu deklaratīvai dalīšanai.