Неиспользуемая длина / значение ячейки
У меня есть столбец таблицы с именем user_id. где он автоматически увеличивается, когда регистрируется новый пользователь.
Я думаю, что установка длины / значений столбца на его максимальной длине (4294967295) может предотвратить взрывную регистрацию пользователей, которые будут использовать длину / значения.
Я беспокоюсь, если я сделаю это, неиспользуемая длина в столбце может стоить бит / хранилище в базе данных, что замедлит время обработки. Будет ли это так?
1 ответ
99,999% времени простой INT
будет делать работу за такие вещи, как user_id
, Там нет необходимости сойти с ума. Это позволяет 2,1 миллиарда пользователей, или, другими словами, два человека, регистрирующихся каждую секунду, каждую секунду в течение 34 лет.
Твиттеру, Facebook, Google и многим другим понадобится 64-битное целое число для подобных вещей. Остальные из нас в порядке.
Не забывайте, что стоимость хранения INT
4 байта независимо от установленной точности. Для 64-битного числа это 8 байтов. Разница здесь невелика, но с точки зрения производительности индекса, INT
будет превосходить BIGINT
на небольшую, но значимую сумму, так что происходит BIGINT
по всем направлениям излишним во всех, кроме самых крайних случаев.
Краткий ответ: не беспокойтесь об этом. использование INT
,