Недавно я начал новую работу и заметил, что все таблицы SQL используют тип данных GUID для первичного ключа.
В моей предыдущей работе мы использовали целые числа (Auto-Increment) для первичного ключа, и с моей точки зрения было намного легче работать.
Например, скажем, у вас есть две связанные таблицы; Product и ProductType - я мог бы легко перекрестно проверить столбец "ProductTypeID" обеих таблиц для определенной строки, чтобы быстро сопоставить данные в моей голове, потому что ее легко хранить число (2,4,45 и т.д.), В отличие от (E75B92A3- 3299-4407-A913-C5CA196B3CAB).
Дополнительное разочарование приходит от меня, желающего понять, как связаны эти таблицы, к сожалению, нет диаграммы базы данных: (
Многие говорят, что GUID лучше, потому что вы можете определить уникальный идентификатор кода С#, например, с помощью NewID(), не требуя SQL SERVER, чтобы это сделать - это также позволяет вам заранее знать, что такое идентификатор.... но я видел, что можно еще получить "следующее автоматически увеличиваемое целое число".
Подрядчик DBA сообщил, что наши запросы могут быть на 30% быстрее, если мы используем тип Integer вместо GUIDS...
Почему существует тип данных GUID, какие преимущества он действительно предоставляет?... Даже если его выбор у какого-то профессионала, должны быть веские причины, почему его реализовано?