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

é bom armazenar o valor decimal como varchar no mysql?


A resposta curta é:Não, vai prejudicar o desempenho.

A resposta mais longa:os campos VARCHAR são de comprimento variável, o que significa que a formatação dos blocos do banco de dados não pode pré-considerar o tamanho dos dados preenchidos neles. Claro, há um comprimento máximo do campo, mas fora isso, você está pior.

Por outro lado, ler um VARCHAR e depois interpretá-lo para caber em um tipo de ponto flutuante custará caro. E introduz novas possibilidades de problemas. Tente obter todos os decimais que representam "11,99". Espero que você traga o número correto de casas decimais, pois em VARCHAR "11.99" !="11.990".

E depois há a indexação. Normalmente, ninguém indexa um campo decimal, mas se você fizer isso, um índice em um campo VARCHAR exigirá mais espaço.

Em suma, não é uma boa ideia salvar algo em um tipo de campo não específico. Na estrutura do banco de dados, geralmente é considerado a melhor prática ser o mais específico possível.