Char vs Varchar
Char e Varchar são tipos de dados de caractere comumente usados no sistema de banco de dados que parecem semelhantes, embora existam diferenças entre eles quando se trata de requisitos de armazenamento. No projeto de banco de dados, muitos tipos de dados são usados. Entre eles, os tipos de dados de caracteres ganham um lugar mais proeminente, pois são usados para armazenar muitas informações em comparação com os números. Os tipos de dados de caracteres são usados para armazenar caracteres ou dados alfanuméricos em strings. O tipo de conjunto de caracteres do banco de dados é definido ao criar o banco de dados. Novamente, fora desses tipos de dados de caractere, Char e Varchar são os comumente usados. Este artigo explica o que são esses dois tipos de dados, char e varchar, e a diferença entre eles.
O que é Char?
A definição ISO de char é um caractere e o tipo de dados char é usado para armazenar um caractere. Char (n) pode armazenar n tamanhos fixos de caracteres. O número máximo de caracteres que um char (n) pode conter é de 255 caracteres e o comprimento de uma string deve ter um valor de 1 a 8000. Char é cinquenta por cento mais rápido que varchar e, portanto, podemos obter um melhor desempenho quando trabalhamos com Caracteres. Char usa alocação de memória estática ao armazenar dados. Quando queremos armazenar strings com um comprimento fixo conhecido, é melhor usar o char. Como exemplo, ao armazenar 'Sim' e 'Não' como 'Y' e 'N', podemos usar o tipo de dados char. E também ao armazenar o número da carteira de identidade nacional de uma pessoa com dez caracteres, podemos usar o tipo de dados como char (10).
O que é Varchar?
Como o nome sugere, varchar é chamado de caractere variável. Varchar é usado para armazenar dados alfanuméricos de comprimentos variáveis. O número máximo de caracteres que esse tipo de dados pode conter é 4.000 caracteres e o tamanho máximo de armazenamento é 2 GB. O tamanho de armazenamento de varchar é o comprimento real dos dados mais dois bytes. Varchar é mais lento que char e usa alocação dinâmica de memória ao armazenar dados. Podemos usar varchar ao armazenar dados como nomes, endereços, descrições, etc. Não apenas strings, mas também tipos não-string como tipos de data, "12 de março de 2015", "2015-03-12" também podem ser armazenados em o tipo de dados varchar.
Qual é a diferença entre Char e Varchar?
• Embora char e varchar sejam campos de dados de caracteres, char é um campo de dados de comprimento fixo e varchar é um campo de dados de tamanho variável.
• Char pode armazenar apenas caracteres de string não Unicode de tamanho fixo, mas varchar pode armazenar tamanhos variáveis de strings.
• Char é melhor do que varchar para dados que mudam com frequência. Isso ocorre porque a linha de dados de comprimento fixo não é propensa à fragmentação.
• Char vai ocupar apenas o espaço fixo que é definido ao declarar a variável. Porém, varchar ocupará o espaço com base nos dados inseridos e também ocupará 1 ou 2 bytes como prefixo de comprimento.
• Se os dados tiverem menos de 255 caracteres, 1 byte é alocado e se os dados tiverem mais de 255 caracteres 2 bytes são reservados. Se usarmos um char para armazenar um sinalizador de 'Y' e 'N', ele usará um byte para armazenar, mas quando usarmos varchar, serão necessários dois bytes para armazenar o sinalizador, incluindo um byte extra como o prefixo de comprimento.
Resumo:
Char vs Varchar
Char e varchar são os tipos de dados de caractere mais usados disponíveis em bancos de dados. Char é usado para armazenar uma string com comprimento fixo, enquanto varchar é usado para armazenar strings de comprimento variável. Para obter um melhor desempenho dos dados, é mais importante escolher os tipos de dados corretos para os campos das tabelas em seu banco de dados. É mais conveniente usar os menores tipos de dados que podem armazenar corretamente os dados, porque eles ocupam menos espaço da memória.
Cortesia de imagens: Varchar via Wikicommons (domínio público)