Sto lavorando con un database SQL in questo momento, e questo mi ha sempre reso curioso, ma le ricerche di Google non aumentano molto: perché i tipi di dati rigorosi?
Capisco perché avresti alcuni tipi di dati diversi, ad esempio come è importante la differenziazione tra dati binari e di testo semplice . Invece di archiviare 1 e 0 di dati binari come testo normale, ora capisco che è più efficiente archiviare i dati binari come proprio formato.
Ma quello che non capisco è quale sia il vantaggio di avere così tanti tipi di dati diversi:
- Perché
mediumtext
,longtext
etext
? - Perché
decimal
,float
eint
? - eccetera.
Qual è il vantaggio di dire al database "Ci saranno solo 256 byte di dati in testo semplice nelle voci di questa colonna". o "Questa colonna può contenere voci di testo fino a 16.777.215 byte"?
È un vantaggio in termini di prestazioni? In tal caso, perché conoscere le dimensioni della voce prima della mano aiuta le prestazioni? O piuttosto è qualcos'altro del tutto?
decimal
, float
e int
tipi, che cosa ci si può aspettare 1 / 3
di fare? Che dire 1.0 / 3.0
? Potresti essere sicuro che quando dividi columnA
per columnB
quello otterrai i risultati che ti aspetti?