В MySQL, есть ли разница (по производительности) между десятичной и двойной? - PullRequest
3 голосов
/ 09 октября 2008

В моей базе данных я хотел бы сохранить десятичную оценку. Оценка может иметь значение от 0 до 10 и значения между ними, такие как 2,3 или 9,4.

Недавно я узнал, что int хранит только целые числа, а не десятичные дроби. Я обнаружил, что вы можете использовать либо double , либо decimal , но я хотел бы знать, есть ли вообще разница?

Я сейчас использую десятичную.

Ответы [ 2 ]

7 голосов
/ 09 октября 2008

Десятичные дроби более точные, обычно более эффективны двойные.

С помощью десятичной дроби вы можете указать, сколько цифр вы хотите использовать до и после десятичной точки.
Редактировать: Вы можете установить количество цифр для десятичных и double, my bad.

Десятичные дроби лучше подходят для таких вещей, как денежные расчеты, где точность абсолютно необходима. Удвоения лучше подходят для вашего конкретного случая, когда точность оценки не является критичной.

См. обзор числовых типов в документации MySQL для получения дополнительной информации.

1 голос
/ 09 октября 2008

Почему бы не использовать INT и позволить счету перейти от 0 до 100? Пусть приложение отобразит счет, деленный на десять.

Это избавляет вас от проблемы десятичных разрядов / ошибок округления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...