Progettazione di database
Lis Sulmont
Curriculum Manager
Le tabelle crescono (centinaia di GB / TB)
Problema: le query/gli aggiornamenti diventano più lenti
Perché: ad esempio, gli indici non entrano nella memoria.
Soluzione: dividi la tabella in parti più piccole (= partizionamento)

1. Modello concettuale dei dati
2. Modello logico dei dati
Per il partizionamento, il modello logico dei dati è lo stesso.
3. Modello fisico dei dati
Il partizionamento fa parte del modello fisico dei dati.
Dividi tabella anche se completamente normalizzata
Per esempio, salva long_description su un supporto più lento.


CREATE TABLE sales ( ... timestamp DATE NOT NULL ) PARTITION BY RANGE (timestamp);CREATE TABLE sales_2019_q1 PARTITION OF sales FOR VALUES FROM ('2019-01-01') TO ('2019-03-31'); ... CREATE TABLE sales_2019_q4 PARTITION OF sales FOR VALUES FROM ('2019-10-01') TO ('2020-01-31');CREATE INDEX ON sales ('timestamp');
Pro
Contro
Progettazione di database