@OleggV

Какой тип данных лучше выбрать для больших чисел в MySql?

В таблице предполагается наличие столбца, который будет содержать в себе число до 15 (а возможно и больше) знаков - это некий id, который в будущем не будет меняться, а будет служить только для идентификации данной строки при добавлении новых данных в базу. Т.е. данные поставляются с уже имеющимся идентификатором и перед добавлением нужно будет проверить есть ли такая строка в базе. Как лучше записывать это число в базу? Как BIGINT или может лучше в виде строки VARCHAR? В приоритете быстрый поиск по этому значению в базе данных с несколькими миллионами строк.
  • Вопрос задан
  • 336 просмотров
Пригласить эксперта
Ответы на вопрос 1
@immelnikoff
Изучаю БД
Ну вот вообще не вижу и не понимаю причин хранить целые числа (включая хэш-суммы и ip-адреса) в VARCHAR-ах. Целочисленные типы и были придуманы для того, чтобы хранить в них целые числа.
Например, возьмем 15-значное целое число в десятичной системе счисления. Если вы выберете для его хранения тип VARCHAR(15), то одно значение будет занимать 15 байт + 1 байт = 16 байт.
При этом тип BIGINT UNSIGNED весит всего 8 байт и имеет диапазон значений от 0 до 18446744073709551615 (включительно). Как следствие, скорость поиска, сортировки, сравнения, добавления новой записи будет выше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы