sql >> Base de Datos >  >> RDS >> Mysql

¿Es bueno almacenar el valor decimal como varchar en mysql?

La respuesta corta es:no, perjudicará el rendimiento.

La respuesta más larga:los campos VARCHAR son de longitud variable, lo que significa que el formato de los bloques de la base de datos no puede tener en cuenta el tamaño de los datos que se rellenan allí. Claro, hay una longitud máxima del campo, pero aparte de eso, estás peor.

Por otro lado, le costará leer un VARCHAR y luego interpretarlo para que encaje en un tipo de punto flotante. E introduce nuevas posibilidades de problemas. Trate de obtener todos los decimales que representen "11.99". Espero que traigas el número correcto de lugares decimales, porque en VARCHAR "11.99" !="11.990".

Y luego está la indexación. Por lo general, nadie indexa un campo decimal, pero si lo hace, un índice en un campo VARCHAR requerirá más espacio.

Con todo, no es una buena idea guardar algo en un tipo de campo no específico. En la estructura de la base de datos, generalmente se considera que la mejor práctica es ser lo más específica posible.