mysql 实数型变量定义,MySQL实数类型使用注意事项
實(shí)數(shù)類型,即支持存儲(chǔ)帶小數(shù)的數(shù)據(jù)類型。MySQL數(shù)據(jù)庫(kù)中的實(shí)數(shù)類型,既有支持精確類型的,也有支持不精確類型的,所以,在使用的過程中需要注意一些注意事項(xiàng)。
1.FLOAT和DOUBLE類型使用標(biāo)準(zhǔn)的浮點(diǎn)運(yùn)算進(jìn)行近似計(jì)算,這里注意是近似計(jì)算,所以在一些計(jì)算結(jié)果中可能會(huì)因?yàn)榫葥p失而導(dǎo)致一些意想不到的結(jié)果。
2.DECIMAL類型用于存儲(chǔ)精確的小數(shù),需要注意的是在MySQL5.0以及更高的版本中才支持精確計(jì)算,因?yàn)樵?.1及更早的版本中,DECIMAL只是一個(gè)存儲(chǔ)類型,底層是使用浮點(diǎn)運(yùn)算來實(shí)現(xiàn)計(jì)算的。
3.在MySQL5.0及更高的版本中,DECIMAL類型允許存儲(chǔ)最多65個(gè)數(shù)字。
4.在存儲(chǔ)相同范圍的值時(shí),FLOAT和DOUBLE比DECIMAL使用更少的存儲(chǔ)空間,FLOAT使用4個(gè)字節(jié)存儲(chǔ),DOUBLE使用8個(gè)字節(jié)存儲(chǔ)。
5.因?yàn)镈ECIMAL需要額外的空間和計(jì)算開銷,應(yīng)盡量在只對(duì)小數(shù)進(jìn)行精確計(jì)算的時(shí)候才使用DECIMAL。在有金額交易的實(shí)戰(zhàn)過程中,更傾向于使用BIGINT代替DECIMAL,將金額單位擴(kuò)大相應(yīng)倍數(shù),如金額單位為元,而在存儲(chǔ)的時(shí)候擴(kuò)大100倍,使用分為單位,這樣可以避免使用浮點(diǎn)數(shù)計(jì)算不精確的問題和使用DECIMAL計(jì)算代價(jià)高的問題。
總結(jié)
以上是生活随笔為你收集整理的mysql 实数型变量定义,MySQL实数类型使用注意事项的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python零基础入门学习笔记(一)
- 下一篇: 从零开始建立机械臂URDF模型