2010-07-19 46 views
0

我正在做一些查詢,需要大量的連接行有一些他們的領域添加和相乘在一起。MySQL數學 - 更快,INTEGER或FLOAT?

我知道這是一種模糊的,但我的問題是哪種數字數據類型是這些類型的操作最快?

由於DOUBLE是8字節,而FLOAT是4,FLOAT會比DOUBLE更快嗎?

INT會比FLOAT更快(即使它們都是4個字節)?

DECIMAL會比FLOAT更快嗎?

下面是一些更多信息:我正在解決的問題允許我選擇將「float」數字存儲爲BIGINTEGER的...我可以在插入數字前將數字乘以100000。如果BIGINT的數學速度比FLOAT的快,我會願意這樣做。

謝謝。

回答

3

字節大小影響數據檢索,而不是基於它的計算。如有必要,索引可以改善這一點,但會減慢UPDATE/INSERT/DELETE語句。

我建議選擇反映您將要使用的操作的數據類型。如果您根本不需要精度,則沒有理由考慮使用DECIMAL或FLOAT。

0

通常,整數運算更快(並且更準確)。由於我實際上並沒有在MySQL中工作,所以我不能肯定地說 - 但我肯定會選擇整數。