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