Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Soll ich ein Feld PRICE als int oder als float int in der Datenbank speichern?

Interessante Frage.

Ich würde Float in der MySQL-Umgebung nicht wirklich wählen. Zu viele Probleme in der Vergangenheit mit der Genauigkeit dieses Datentyps.

Für mich wäre die Wahl zwischen int und decimal(18,4) .

Ich habe Beispiele für Ganzzahlen aus der realen Welt gesehen, die zur Darstellung von Gleitkommawerten verwendet werden. Die Interna der Datentabellen von JD Edwards tun dies alles. Mengen werden normalerweise durch 10000 dividiert. Obwohl ich sicher bin, dass es schneller und kleiner in der Tabelle ist, bedeutet es nur, dass wir die ints immer in einen Dezimalwert umwandeln müssen, wenn wir irgendetwas damit machen wollen, insbesondere Division.

Aus Programmiersicht würde ich es immer vorziehen, mit decimal zu arbeiten für den Preis ( oder money in RDBMSs, die dies unterstützen).