Interesujące pytanie.
Właściwie nie wybrałbym floata w środowisku mysql. Zbyt wiele problemów w przeszłości z precyzją z tym typem danych.
Dla mnie wybór byłby pomiędzy int
i decimal(18,4)
.
Widziałem rzeczywiste przykłady liczb całkowitych używanych do reprezentowania wartości zmiennoprzecinkowych. Robią to wszystkie wewnętrzne tablice JD Edwards. Ilości są zwykle dzielone przez 10000. Chociaż jestem pewien, że jest to szybsze i mniejsze w tabeli, oznacza to po prostu, że zawsze musimy PRZELEWAĆ wartości int na wartość dziesiętną, jeśli chcemy coś z nimi zrobić, zwłaszcza dzielenie.
Z perspektywy programowania zawsze wolę pracować z decimal
za cenę ( lub money
w RDBMS, które to obsługują).