En general, siempre uso Ints. Sin embargo, sé que, en teoría, esta no es la mejor práctica, ya que debe usar el tipo de datos más pequeño que se garantizará para almacenar los datos.
Por ejemplo, es mejor usarlo tinyint
cuando sabe que los únicos datos que almacenará son 1, 0 o nulos (con una posibilidad muy pequeña de expandirlos a 2 o 3 más adelante).
Sin embargo, la única razón que sé para hacer esto es para fines de almacenamiento: usar 1 byte en una fila en lugar de 4 bytes.
¿Cuáles son los impactos del uso tinyint
(o smallint
incluso bigint
) sobre solo int
, aparte de ahorrar espacio en su disco duro?
I'd use an ENUM for such a thing.
No en SQL Server, no lo haría, ya que no tiene enumeraciones de ningún tipo.