Twitt
@Twitt

В чем хранить большие ID-шники: в VARCHAR или в BIGINT?

Если айдишники могут быть большими, например могут быть как 5 цифр, так и 10.
Т.е., у юзера может быть от 5 до 10 цифр в длине ID-шника.
Какого типа должна быть колонка в таком случае: VARCHAR или BIGINT?
  • Вопрос задан
  • 517 просмотров
Пригласить эксперта
Ответы на вопрос 3
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
https://dev.mysql.com/doc/refman/8.0/en/example-au...
https://dev.mysql.com/doc/refman/8.0/en/integer-ty...
умещается в bigint - значит используйте его.
нет - ищите иные варианты.
Ответ написан
Комментировать
402d
@402d
начинал с бейсика на УКНЦ в 1988
Типовой int(11) will take 4 bytes of space that is 32 bits of space with 2^(31) = 2147483648
немного не хватает до вашего понятия 10 цифр
id - устоявшее обозначение для первичного ключа (primary)

В вашем случае мне кажется Вы умеете ввиду другую задачу.
Поэтому предлагаю ввести поле типа varchar(64) ,
что позволит потом дать возможность пользователям выбрать красивый ид (субдомен,часть урла) вместо цифр
Ответ написан
Комментировать
@Vitsliputsli
Varchar. Лучше, конечно, int, но раз вопрос возник, то varchar. Используйте int тогда, когда можете применить к ним арифметические операции, суррогатный ключ тоже подходит. С натуральными ключами следует быть осторожным, т.е. лучше заранее предусмотреть, что в ключе из 5-10 цифр вдруг появятся символы или ведущие нули.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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