UUID против числа автоматического увеличения для первичного ключа
Почему я должен выбирать UUID над номером автоматического увеличения для моего первичного ключа сущности? Каковы плюсы и минусы?
Ответы
Ответ 1
У Андрея и Mjg были хорошие моменты, но я бы добавил важную проблему с производительностью, которая значительна.
С развязкой базы данных и генерации ключей также позволяет приложениям, которые имеют сложные отношения между объектами, создавать их все с помощью ключей на месте, так что возможны объемные вставки.
В случае автоинкремента все объекты, которые имеют отношения (т.е. таблицы с внешними ключами), должны ждать другой стороны отношения (т.е. из таблицы, из которой поступает внешний ключ) для сохранения, запроса назначенные идентификаторы, а затем индивидуально обновлять записи предыдущих записей.
Ответ 2
UUID глобально уникальны и могут генерироваться параллельно без связи между кластерными серверами БД. Таким образом Идентификаторы объектов более синергетичны с очерчиванием и распределением.. UUID обычно хранятся в 128 бит.
Автоматически увеличивающиеся целые числа являются более удобными для пользователя (ну, в любом случае, короче и запоминающимися) и автоматически разрешают сортировку по порядку вставки. Целые элементы обычно хранятся в 32 или 64 битах.
Ответ 3
Основной профессионал, который вы можете создать самостоятельно. Con - то, что он больше.