Interessant spørgsmål.
Jeg ville faktisk ikke vælge float i mysql-miljøet. For mange problemer i fortiden med præcision med den datatype.
For mig ville valget være mellem int
og decimal(18,4)
.
Jeg har set eksempler fra den virkelige verden, der bruges til at repræsentere flydende kommaværdier. Det interne i JD Edwards datatabeller gør alle dette. Mængder divideres typisk med 10.000. Selvom jeg er sikker på, at det er hurtigere og mindre i tabellen, betyder det bare, at vi altid er nødt til at CAST ints til en decimalværdi, hvis vi vil gøre noget med dem, især division.
Fra et programmeringsperspektiv vil jeg altid foretrække at arbejde med decimal
til pris ( eller money
i RDBMS'er, der understøtter det ).