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 ).