Diferença entre Char e Varchar | Char vs Varchar

Anonim

Char vs Varchar

Char e Varchar são tipos de dados de caracteres de uso comum 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, há muitos tipos de dados usados. Fora deles, os tipos de dados de caracteres recebem um lugar mais proeminente, pois são usados ​​para armazenar muita informação 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, desses tipos de dados de caracteres, Char e Varchar são os usados ​​comumente. 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 caracter e o tipo de dados char é usado para armazenar um caractere. Char (n) pode armazenar n tamanho fixo de caracteres. O número máximo de caracteres que um char (n) pode conter é 255 caracteres e um comprimento de seqüência deve ser um valor de 1 a 8000. Char é cinquenta por cento mais rápido do 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 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. O Varchar é usado para armazenar dados alfanuméricos com comprimentos variáveis. O número máximo de caracteres que este tipo de dados pode conter é de 4000 caracteres e o tamanho máximo de armazenamento é de 2 GB. O tamanho de armazenamento do varchar é o comprimento real dos dados mais dois bytes. O Varchar é mais lento que o char e usa alocação de memória dinâmica ao armazenar dados. Podemos usar o varchar ao armazenar dados, como nomes, endereços, descrições, etc. Não apenas as cadeias de caracteres, mas também os tipos não-string, como os tipos de data, "12 de março de 2015", "12/03/2015" 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.

• O Char pode armazenar apenas caracteres de caracteres de tamanho não-Unicode de tamanho fixo, mas o varchar pode armazenar tamanhos variáveis ​​de strings.

• Char é melhor que varchar para dados que mudam com frequência. Isso ocorre porque a linha de dados de comprimento fixo não é propensa à fragmentação.

• O Char ocupará apenas o espaço fixo que é definido ao declarar a variável. Mas 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 forem inferiores a 255 caracteres, 1 byte será alocado e se os dados tiverem mais de 255 caracteres, serão reservados 2 bytes. Se usarmos um char para armazenar uma bandeira de 'Y' e 'N', ele usará um byte para armazenar, mas quando usarmos varchar, serão necessários dois bytes para armazenar a bandeira incluindo um byte extra como o prefixo de comprimento.

Resumo:

Char vs Varchar

Char e varchar são o tipo de dados de caracteres mais utilizados nos bancos de dados. Char é usado para armazenar uma string com um comprimento fixo, enquanto o varchar é usado para armazenar cordas com um comprimento variável. Para obter um melhor desempenho a partir dos dados, é mais importante escolher os tipos de dados corretos para os campos das tabelas em seu banco de dados. É mais conveniente usar os tipos de dados mais pequenos que podem armazenar corretamente os dados, porque eles levam menos espaço da memória.

Imagens Cortesia: Varchar via Wikicommons (Public Domain)