Какой тип данных рекомендуется для столбцов идентификаторов?
Я понимаю, что этот вопрос, скорее всего, задавался раньше, но я немного искал среди вопросов по StackOverflow, и я действительно не нашел ответа на свой, так что здесь. Если вы найдете дубликат, пожалуйста, ссылку на него.
По какой-то причине я предпочитаю использоватьGuid
с (uniqueidentifier
в MsSql) для моих полей первичного ключа, но я действительно не знаю, почему это было бы лучше. Во многих уроках в последнее время я проходил через автоматически увеличивающийсяint
был использован. Я вижу плюсы и минусы обоих:
Guid
всегда имеет одинаковый размер и длину, и нет причин беспокоиться об их исчерпании, в то время как существует ограничение на количество записей, которое вы могли бы иметь до того, как у вас закончатся числа, подходящие дляint
.int
является (по крайней мере, в C #) обнуляемым типом, который открывается для нескольких сочетаний клавиш при запросе данных.А такжеint
легче читать.Могу поспорить, что вы могли бы придумать хотя бы еще пару вещей здесь.Итак, так просто, как говорится в названии:Какой тип данных рекомендуется использовать для столбцов идентификаторов (первичного ключа) в базе данных?
РЕДАКТИРОВАТЬ: После получения нескольких коротких ответов, я также должен добавить этот дополнительный вопрос. Без этого ваш ответ не будет ни убедительным, ни обучающим ...;)Почему вы так думаете, и каковы минусы другого варианта, который делает васне выбрать вместо этого?