In generale, utilizzo sempre Ints. So che in teoria questa non è la migliore pratica, dal momento che è necessario utilizzare il tipo di dati più piccolo che sarà garantito per archiviare i dati.
Ad esempio, è meglio usare tinyint
quando si sa che gli unici dati che verranno archiviati sono 1, 0 o null (con una probabilità molto piccola di estenderli a 2 o 3 in seguito).
Tuttavia, l'unica ragione che conosco per fare questo è per scopi di archiviazione - utilizzando 1 byte su una riga anziché 4 byte.
Quali sono gli impatti dell'utilizzo tinyint
(o smallint
persino bigint
) solo int
oltre a risparmiare spazio sul disco rigido?
I'd use an ENUM for such a thing.
Non in SQL Server, non lo faresti, poiché non ha enumerazioni di alcun tipo.