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

MySQL melhor maneira de armazenar strings longas


De um modo geral, esta não é uma pergunta que tem uma resposta "correta". Não existe um tipo de armazenamento de texto "comprimento infinito" no MySQL. Você pode usar LONGTEXT , mas que ainda tem um limite superior (absurdamente alto). No entanto, se você fizer isso, você está chutando seu DBMS nos dentes por ter que lidar com aquela bolha absurda de uma coluna para seu texto de 50 caracteres. Sem mencionar o fato de que você quase não faz nada com ele.

Portanto, a maior parte da resistência ao futuro(TM) provavelmente é oferecida por LONGTEXT . Mas também é um método muito ruim de resolver o problema. Honestamente, eu revisitaria os requisitos do aplicativo. Armazenar strings que não possuem "domínio" (como em, ser bem definido em sua aplicação) e comprimento arbitrário não é um dos pontos fortes do RDBMS.

Se eu quisesse resolver isso no nível de "design de aplicativo", usaria o armazenamento de valor-chave NoSQL para isso (e sou tão anti-NoSQL-hype quanto eles, então você sabe que é sério), mesmo embora eu reconheça que é uma mudança bastante cara para uma mudança tão pequena. Mas se isso for uma indicação do que seu SGBD irá eventualmente manter, pode ser mais prudente mudar agora para evitar esse mesmo problema centenas de vezes no futuro. O domínio de dados é muito importante no RDBMS, enquanto é explicitamente marginalizado em soluções não relacionais, o que parece ser o que você está tentando resolver aqui.

Preso com o MySQL? Apenas aumente para VARCHAR(1000) . Se você não tiver requisitos para seus dados, é irrelevante o que você faz de qualquer maneira.