Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL:O que é melhor um Bit ou um char(1)


Para SQL Server:até 8 colunas do tipo BIT pode ser armazenado dentro de um único byte, enquanto cada coluna do tipo CHAR(1) ocupará um byte.

Por outro lado:um BIT coluna pode ter dois valores (0 =false, 1 =true) ou nenhum valor (NULL) - enquanto um CHAR(1) pode ter qualquer valor de caractere (muito mais possibilidades)

Então, na verdade, tudo se resume a:
  • você realmente precisa de um campo verdadeiro/falso (sim/não)? Se sim:use BIT
  • você precisa de algo com mais do que apenas dois valores possíveis - use CHAR(1)

Não acho que faça diferença significativa, do ponto de vista do desempenho - a menos que você tenha dezenas de milhares de colunas. Então, é claro, usando BIT que pode armazenar até 8 colunas em um único byte seria benéfico. Mas, novamente:para o seu caso de banco de dados "normal", onde você tem algumas, uma dúzia dessas colunas, realmente não faz grande diferença. Escolha o tipo de coluna que atende às suas necessidades - não se preocupe com o desempenho .....