Pertanyaan yang menarik.
Saya sebenarnya tidak akan memilih float di lingkungan mysql. Terlalu banyak masalah di masa lalu dengan presisi dengan tipe data tersebut.
Bagi saya, pilihannya adalah antara int dan decimal(18,4) .
Saya telah melihat contoh dunia nyata bilangan bulat yang digunakan untuk mewakili nilai floating point. Semua datatables JD Edwards internal melakukan ini. Kuantitas biasanya dibagi dengan 10.000. Meskipun saya yakin ini lebih cepat dan lebih kecil dalam tabel, itu hanya berarti bahwa kita selalu harus CAST int ke nilai desimal jika kita ingin melakukan sesuatu dengan mereka, terutama pembagian.
Dari perspektif pemrograman, saya selalu lebih suka bekerja dengan decimal untuk harga ( atau money di RDBMS yang mendukungnya ).