Я пытался создать столбец ID
на SQL-сервере VB.net, который обеспечивал бы последовательность чисел для каждой новой строки, созданной в базе данных. Поэтому для создания столбца ID я использовал следующий метод.Использование INT или GUID в качестве первичного ключа
select * from T_Users
ALTER TABLE T_Users
ADD User_ID INT NOT NULL IDENTITY(1,1) Primary Key
Затем я зарегистрировал несколько имен пользователей в базе данных, и это сработало отлично. Например, первые шесть строк будут 1,2,3,4,5,6. Затем я зарегистрировал еще 4 пользователей в следующий день, но на этот раз идентификационные номера переместились с 6 на A очень большое число, например: 1,2,3,4,5,6,1002,1003,1004,1005. Затем через два дня я зарегистрировал еще двух пользователей, а новые строки - 3002,3004. Поэтому мой вопрос заключается в том, почему он пропускает такое большое количество через день, когда я регистрирую пользователей. Является ли техника, я использовал для создания последовательности неправильно? Если это неправильно, кто-нибудь может рассказать мне, как это сделать правильно? Теперь, когда я разочаровался в технике, описанной выше, я попытался использовать последовательно генерируемые значения GUID. Последовательность значений GUID была сгенерирована штрафом. Однако единственным недостатком является то, что он генерирует очень длинные номера (в 4 раза больше размера INT). Мой вопрос здесь заключается в том, что использование GUID имеет какое-либо существенное преимущество перед INT?
С уважением,
Трюк с ПК не группироваться, но вместо этого кластера на то, что имеет логический порядок - например, даты, имена или что-то еще. –
DeanOC, спасибо за отзыв. Это было полезно. –