Middle
Vai vari paskaidrot par partīciju Oracle: kam tas tiek izmantots un kādi ir tās veidi?
sobes.tech AI
Atbilde no AI
Oracle datu bāzē sadalīšana (partitioning) ir metode, kā lielas tabulas vai indeksus sadalīt mazākās, pārvaldāmās daļās (partīcijās), kas fiziski tiek glabātas atsevišķi, bet loģiski ir apvienotas vienā struktūrā.
Kāpēc tiek izmantots:
- Uzlabot vaicājumu veiktspēju, ierobežojot datu skenēšanu tikai nepieciešamajās partīcijās.
- Vienkāršot lielu datu apjomu pārvaldību (piemēram, arhivēšana vai veco datu dzēšana pēc partīcijām).
- Palielināt pieejamību un paralēlismu datu apstrādē.
Galvenie Oracle sadalīšanas veidi:
- Range partitioning (Diapazona): dati tiek sadalīti pēc vērtību diapazoniem (piemēram, datumi).
- List partitioning (Saraksta): dati tiek sadalīti pēc vērtību sarakstiem (piemēram, reģioni).
- Hash partitioning (Hash): dati tiek sadalīti pēc hash funkcijas, nodrošinot vienmērīgu sadalījumu.
- Kombinētais sadalījums: vairāku metožu kombinācija, piemēram, vispirms diapazons, tad hash katrā diapazonā.
Piemērs, kā izveidot tabulu ar diapazona sadalījumu pēc datuma:
CREATE TABLE pārdošana (
pārdošanas_id NUMBER,
datums DATE,
summa NUMBER
)
PARTITION BY RANGE (datums) (
PARTITION p_2023_q1 VALUES LESS THAN (TO_DATE('01-APR-2023','DD-MON-YYYY')),
PARTITION p_2023_q2 VALUES LESS THAN (TO_DATE('01-JUL-2023','DD-MON-YYYY')),
PARTITION p_2023_q3 VALUES LESS THAN (TO_DATE('01-OCT-2023','DD-MON-YYYY')),
PARTITION p_2023_q4 VALUES LESS THAN (TO_DATE('01-JAN-2024','DD-MON-YYYY'))
);