Неиспользуемая длина / значение ячейки

У меня есть столбец таблицы с именем user_id. где он автоматически увеличивается, когда регистрируется новый пользователь.

Я думаю, что установка длины / значений столбца на его максимальной длине (4294967295) может предотвратить взрывную регистрацию пользователей, которые будут использовать длину / значения.

Я беспокоюсь, если я сделаю это, неиспользуемая длина в столбце может стоить бит / хранилище в базе данных, что замедлит время обработки. Будет ли это так?

1 ответ

99,999% времени простой INT будет делать работу за такие вещи, как user_id, Там нет необходимости сойти с ума. Это позволяет 2,1 миллиарда пользователей, или, другими словами, два человека, регистрирующихся каждую секунду, каждую секунду в течение 34 лет.

Твиттеру, Facebook, Google и многим другим понадобится 64-битное целое число для подобных вещей. Остальные из нас в порядке.

Не забывайте, что стоимость хранения INT 4 байта независимо от установленной точности. Для 64-битного числа это 8 байтов. Разница здесь невелика, но с точки зрения производительности индекса, INT будет превосходить BIGINT на небольшую, но значимую сумму, так что происходит BIGINT по всем направлениям излишним во всех, кроме самых крайних случаев.

Краткий ответ: не беспокойтесь об этом. использование INT,

Другие вопросы по тегам