Quando é aconselhável usar varchar e text para tipos de dados
Gostaria de saber se há alguma diferença entre os dois nos casos em que os dois podem ser usados. Por exemplo, quero cadastrar no banco uma string que no máximo chegaria a 50 caracteres. Qual a diferença em definir a coluna como varchar(50) e text?
Calebe Menezes
Curtidas 0
Melhor post
Jones Granatyr
26/09/2016
Outra coisa é que quando usar um varchar(50) e o nome tiver somente 20 caracteres, o total alocado será 20 e irá variar de acordo com a quantidade de caracteres cadastrados.
GOSTEI 4
Mais Respostas
Luiz Santos
26/09/2016
Bom dia Calebe.
Uma das diferenças tem a ver com a declaração.
Em um VARCHAR você pode determinar o tamanho, no TEXT não, sempre utiliza o tamanho máximo.
Você não consegue utilizar as funções de TEXTO em um campo TEXT (SUBSTRING, LEFT, RIGHT, entre outras)
Li em um site que também pesa contra o text a forma como ele grava dentro do banco, usando o espaço reservado para BLOB, mas não sei dizer o quanto isso degrada a performance.
E por último, a própria Microsoft diz para não usar o TEXT e sim o VARCHAR, que o TEXT pode ser descontinuado em versões futuras do SQL SERVER.
Grande abraço.
Uma das diferenças tem a ver com a declaração.
Em um VARCHAR você pode determinar o tamanho, no TEXT não, sempre utiliza o tamanho máximo.
Você não consegue utilizar as funções de TEXTO em um campo TEXT (SUBSTRING, LEFT, RIGHT, entre outras)
Li em um site que também pesa contra o text a forma como ele grava dentro do banco, usando o espaço reservado para BLOB, mas não sei dizer o quanto isso degrada a performance.
E por último, a própria Microsoft diz para não usar o TEXT e sim o VARCHAR, que o TEXT pode ser descontinuado em versões futuras do SQL SERVER.
Grande abraço.
GOSTEI 3
Calebe Menezes
26/09/2016
ótima observação Jones, achei muito relevante o comentário :)
GOSTEI 0
Luiz Santos
26/09/2016
concordo
GOSTEI 0