sql >> Base de Datos >  >> RDS >> Sqlserver

SQL:Que es mejor un Bit o un char(1)

Para SQL Server:hasta 8 columnas de tipo BIT se puede almacenar dentro de un solo byte, mientras que cada columna de tipo CHAR(1) ocupará un byte.

Por otro lado:un BIT la columna puede tener dos valores (0 =falso, 1 =verdadero) o ningún valor (NULL), mientras que un CHAR(1) puede tener cualquier valor de carácter (muchas más posibilidades)

Realmente, todo se reduce a:

  • ¿realmente necesita un campo verdadero/falso (sí/no)? Si es así:usa BIT
  • ¿Necesita algo con más de dos valores posibles? Utilice CHAR(1)

No creo que haga ninguna diferencia significativa, desde el punto de vista del rendimiento, a menos que tenga decenas de miles de columnas. Luego, por supuesto, usando BIT que puede almacenar hasta 8 columnas en un solo byte sería beneficioso. Pero nuevamente:para el caso de su base de datos "normal", donde tiene unas pocas, una docena de esas columnas, realmente no hace una gran diferencia. Elija el tipo de columna que se adapte a sus necesidades - no te preocupes demasiado por el rendimiento...