2016-11-10 39 views
0

我想知道在MySQL中,如果性能比較好的數字與重要的精度比較或在比較之前舍入它們,知道比較精度不那麼重要比對數字的精度。MySQL:是否有性能比較數字與重要的精度

例:

SELECT 0.123456789101112123456789101112 < 0.98765432112345 

OR

SELECT ROUND(0.123456789101112123456789101112,2) < ROUND(0.98765432112345,2) 

回答

1

有明確的使用ROUND()版本性能的下降。

首先,調用函數總是比不調用函數更昂貴。

其次,也許更重要的是,如果列上有一個索引,如果在將列與某個列進行比較之前對列執行了一個功能,則不能使用它。

但是,獲得正確答案實際上總是比使用最有效的方法更重要。

+0

謝謝。我通過在ROUND版本中添加了2的精度更新了這個問題。 – Tsounabe

+0

精度與問題無關。 – Barmar

+0

是的,但它是我想在原點給的例子。 – Tsounabe