[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