Задача: хранение в базе данных mySQL чисел с плавающей точкой до 8 знаков после запятой. Собственно что лучше? Использовал до этого Decimal и подсмотрел, что многие без заморочек в таких задачах используют Double... Теряется ли точность в таком случае?
P.s Полно статей 2007-2009 и не знаю много ли изменилось с тех пор...
У DOUBLE проблемы с точностью.
FLOAT – забиваем на точность, вспоминаем про проблемы с поиском и все равно используем.
Диапазон хранимых чисел очень большой: [-3,402823466E+38 .. -1,175494351E-38], 0, и [1,175494351E-38 .. 3,402823466E+38]. Занимает 4 байта.
DOUBLE – ни чем не отличается от FLOAT, рано или поздно – всплывет погрешность.
Диапазон больше, чем звезд во Вселенной: [-1,7976931348623157E+308 .. -2,2250738585072014E-308], 0, и [2,2250738585072014E-308 .. 1,7976931348623157E+308]. Занимает 8 байтов.
DECIMAL(X,2) – точное число с десятичной точкой. В зависимости от требуемого числа знаков до точки, меняем X. К примеру, нам надо хранить числа до 10 миллионов. Тогда инициализация поля будет иметь вид DECIMAL(9,2), поле – занимать 5 байтов и хранить числа в диапазоне [-9999999.99 .. 9999999.99].
Виртуальный выделенный сервер (VDS) становится отличным выбором
Сервер на nodejs при подключении нового клиента вызывает коллбек, в котором обрабатывается запросЕсли в коллбеке есть тяжелые вычисления, которые...
в MS SQL через PDO для PHP при мульти-запросе, не возвращаются данныеПривожу условный код:
Когда пользователь входит в аккаунт, ему выводятся вся его информацияUsername выводится, а email нет