DOUBLE vs DECIMAL dalam MySQL: Menilai Semula Argumen Penukaran
Ia sering dinasihatkan supaya tidak menggunakan DOUBLE untuk penyimpanan data kewangan dalam MySQL kerana kepada kemungkinan ralat ketepatan. Walau bagaimanapun, untuk sistem sedia ada dengan 783 lajur DOUBLE, mempertimbangkan penukaran kepada DECIMAL memerlukan penilaian yang teliti.
Dalam senario yang diberikan, sistem menyimpan nilai wang dalam lajur DOUBLE tetapi melaksanakan semua pengiraan dalam Java menggunakan BigDecimal. MySQL hanya digunakan untuk penyimpanan hasil. Memandangkan tiada pengiraan pangkalan data sebenar, kekurangan ketepatan dengan DOUBLE tidak menjadi kebimbangan.
Selain itu, sistem telah beroperasi selama enam tahun tanpa sebarang pepijat berkaitan ketepatan. Ini menunjukkan bahawa untuk nilai kewangan sehingga 8 digit perpuluhan, ketepatan 15 digit DOUBLE adalah mencukupi.
Selain itu, operasi pangkalan data khusus yang dilakukan (SUM dan pendaraban kompleks) tidak mengakibatkan kehilangan ketepatan pada detik digit perpuluhan. Ini menunjukkan bahawa isu pembundaran yang dikaitkan dengan DOUBLE tidak memberi kesan kepada ketepatan data yang disimpan.
Oleh itu, dalam senario khusus ini, di mana pengiraan dilakukan di luar MySQL dan ketepatan bukanlah isu penting, mungkin tidak ada sebab yang menarik untuk menukar lajur DOUBLE kepada PERPULUHAN. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa jika sebarang operasi aritmetik SQL dirancang pada masa hadapan, penukaran kepada DECIMAL harus dipertimbangkan semula.
Atas ialah kandungan terperinci Patutkah Anda Menukar DOUBLE kepada DECIMAL dalam MySQL untuk Data Kewangan Apabila Pengiraan Dilakukan Secara Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!