[Php-it] Mysql e foreign keys.
Cristiano Verondini
cverondini at deis.unibo.it
Fri May 4 14:22:44 CEST 2007
> Ovviamente la soluzione + comune, sarebbe nella tabella "nomi" di
> assegnare a ogni nome un ID numerico, e nella tabella "anagrafica" metter
> l'ID
> numerico del nome, piuttosto che la sua versione in formato stringa.
>
> In sostanza, quello che mi domando, è se con MySQL, se imposto come
> foreign key una colonna varchar, lui è in grado di far automaticamnte
> l'ottimizzazione per evitare di tenere salvate N volte le stesse
> stringhe?
No. Nulla di questo tipo viene fatto automaticamente (AFAIK).
C'è naturalmente un rovescio della medaglia: è vero che occupi meno
spazio, ma la gestione dei dati è molto più complessa. Inserimenti e
ricerche diventano un panico, poichè i dati sono 'sparsi' in giro, quindi
accedere è molto più pesante in termini di accesso al disco.
Si potrebbe pensare che si tratti di una normalizzazione, ma in realtà
non è così: è solo un trucco per risparmiare spazio.
Personalmente lo sconsiglio. Dirò di più: in casi particolari si procede
in modo esattamente inverso (denormalizzazione) per guadagnare in
performance ...
Cris
--
Cristiano Verondini
http://noway.ing.unibo.it --- [ICQ: 114 190]
More information about the Php-it
mailing list