Parametri di creazione delle tabelle
Formula per il calcolo dello storage:
R e' il numero medio di righe occupate nel blocco oracle,
serve per calcolare initial
Notare che nella prima formula R compare sia prima che dopo l'uguale,
comunque e' un' equazione con una sola incognita.
(DB_Block_size - 80 - 2R - (DB_Block_size * (PCTFREE/100)))
R = _______________________________________________________
(lunghezza_media_del_record + header_del_record + numero_colonne)
Dimensione di un blocco Oracle: 8192 bytes (8K)
Lunghezza media del record bisogna calcolarla tenendo conto di:
- VARCHAR2: percentuale occupata * lunghezza del Varchar2
- NUMBER: (((dimensione del number / 2 )+ 0,5) + 1)
- DATE: 7
La percentuale di utilizzo del Varchar2 significa quanto si pensa sia
occupato quel particolare dato:
esempio se per un codice fiscale uso varchar2(14) la percentuale di
utilizzo sara' sicuramente 100%
invece per un nome posso usare varchar2(100) sapendo che mediamente i nomi
delle persone sono 10 carattei, allora la percentuale sara' 10% di
occupazione (caso assurdo)
Header del record: 3 bytes
Calcolo di INITIAL
INITIAL= Righe che mi aspetto di avere nella tabella diviso
numero medio righe che posso allocare in un blocco (cioe' quanti blocchi serviranno per allocare
tutta la tabella)
per dimensione del blocco stesso.
INITIAL = (N/R) * DB_Block_Size
Dove N indica il numero di righe che ci saranno nella tabella a regime.
Altri Parametri
- Next: 10% di Initial (tenendo presente la dimensione minima che é di un blocco)
- MinExtents: 1
- MaxExtents: unlimited oppure un numero
- PCTIncrease: numero
- PCTFree: numero
Indici
Ache gli indici necessitano di parametri di Storage, che sono circa 1/3 rispetto a quelli calcolati per
la tabella, per ogni tabella che contiene una chive primaria, viene creato in automatico dal sistema un indice
che pero' ha come storage i parametri di default. E' sempre meglio creare esplicitamente un indice, si veda la pagina Problemi riscontrati