Mysql
 sql >> Database >  >> RDS >> Mysql

è bene memorizzare il valore decimale come varchar in mysql?

La risposta breve è:No, danneggerà le prestazioni.

La risposta più lunga:i campi VARCHAR sono di lunghezza variabile, il che significa che la formattazione dei blocchi di database non può tenere conto della dimensione dei dati che vi vengono compilati. Certo, c'è una lunghezza massima del campo, ma a parte questo, sei fuori peggio.

D'altra parte, leggere un VARCHAR e quindi interpretarlo per adattarlo a un tipo a virgola mobile ti costerà. E introduce nuove possibilità di problemi. Prova a ottenere tutti i decimali che rappresentano "11,99". Spero che tu porti il ​​giusto numero di cifre decimali, perché in VARCHAR "11.99" !="11.990".

E poi c'è l'indicizzazione. Di solito, nessuno ha indicizzato un campo decimale, ma se lo fai, un indice su un campo VARCHAR richiederà più spazio.

Tutto sommato, non è una buona idea salvare qualcosa in un tipo di campo non specifico. Nella struttura del database, è generalmente considerata best practice essere il più specifico possibile.