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

Qual DATATYPE é melhor usar TEXT ou VARCHAR?


Depende do que você está usando. Eu odeio dar uma resposta tão genérica, mas é verdade. Geralmente, tente obter o tipo de dados o mais específico possível. Se suas strings nunca excederem algum limite superior de caracteres, use VARCHAR porque será um pouco mais eficiente. Se você precisar de mais espaço, use TEXT . Se você não tem certeza de quanto espaço seu texto vai ocupar, você provavelmente deve usar TEXT; a diferença de desempenho não é muito grande e é melhor estar preparado para o futuro do que arriscar ter que alterá-lo mais tarde quando seus requisitos mudarem. Apenas meus dois centavos.

Nos comentários, Pitarou aponta que, se o MySQL criar uma tabela temporária para sua consulta (veja isto ), TEXT colunas não serão armazenadas na memória e terão que ser lidas do disco, o que é muito mais lento. (Fonte , parte inferior da página.) No entanto, isso não deve importar para a maioria das consultas.

Caso alguém esteja se perguntando como o PostgreSQL se compara, encontrei este benchmark que mostra que CHAR, VARCHAR e TEXT funcionam igualmente bem. Portanto, se você estiver usando o Postgres, não importa o tipo que você usa.