Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

VARCHAR como chave estrangeira/chave primária no banco de dados bom ou ruim?


O problema com VARCHAR sendo usado para qualquer KEY é que eles podem conter WHITE SPACE. O espaço em branco consiste em QUALQUER caractere não legível na tela, como tabulações de espaços, retornos de carro etc. Usar um VARCHAR como chave pode dificultar sua vida quando você começa a procurar por que as tabelas não estão retornando registros com espaços extras no final de suas chaves.

Claro, você PODE use VARCHAR, mas você tem que ter muito cuidado com a entrada e saída. Eles também ocupam mais espaço e provavelmente são mais lentos ao fazer consultas.

Os tipos inteiros têm uma pequena lista de 10 caracteres válidos, 0,1,2,3,4,5,6,7,8,9 . Eles são uma solução muito melhor para usar como chaves.

Você sempre pode usar uma chave baseada em inteiro e usar VARCHAR como um valor UNIQUE se quiser ter as vantagens de pesquisas mais rápidas.