Какой тип данных рекомендуется для столбцов идентификаторов?

Я понимаю, что этот вопрос, скорее всего, задавался раньше, но я немного искал среди вопросов по StackOverflow, и я действительно не нашел ответа на свой, так что здесь. Если вы найдете дубликат, пожалуйста, ссылку на него.

По какой-то причине я предпочитаю использоватьGuidс (uniqueidentifier в MsSql) для моих полей первичного ключа, но я действительно не знаю, почему это было бы лучше. Во многих уроках в последнее время я проходил через автоматически увеличивающийсяint был использован. Я вижу плюсы и минусы обоих:

A Guid всегда имеет одинаковый размер и длину, и нет причин беспокоиться об их исчерпании, в то время как существует ограничение на количество записей, которое вы могли бы иметь до того, как у вас закончатся числа, подходящие дляint.int является (по крайней мере, в C #) обнуляемым типом, который открывается для нескольких сочетаний клавиш при запросе данных.А такжеint легче читать.Могу поспорить, что вы могли бы придумать хотя бы еще пару вещей здесь.

Итак, так просто, как говорится в названии:Какой тип данных рекомендуется использовать для столбцов идентификаторов (первичного ключа) в базе данных?

РЕДАКТИРОВАТЬ: После получения нескольких коротких ответов, я также должен добавить этот дополнительный вопрос. Без этого ваш ответ не будет ни убедительным, ни обучающим ...;)Почему вы так думаете, и каковы минусы другого варианта, который делает васне выбрать вместо этого?

Ответы на вопрос(8)

Ваш ответ на вопрос