Я сомневаюсь, что вы» в процессе выбора первичного ключа заметна значительная часть проблем с производительностью. Ваши узкие места будут где-то еще, почти гарантированы.
По умолчанию я рекомендую использовать только первичный ключ с автоматическим приращением. Это имеет смысл - вы узнаете, какие записи заказов были вставлены с первого взгляда, поэтому вы можете их легко удалить, если тестовые данные и т. Д. Кроме того, легче читать число, чем 32 символа UUID. Поэтому юзабилити - это автоматическое увеличение INT.
Итак, когда вы используете UUID? Любая ситуация, когда вы хотите убедиться, что ключ глобально уникален (или довольно близко к нему). Один пример можно найти в базе данных с закрытыми данными; db1 и db2. Вы не можете использовать автоматические инкременты INT, потому что тогда у вас может быть 2 записи (одна в db1, одна в db2), которые имеют один и тот же первичный ключ, что приведет к кошмарам, если вам когда-либо понадобится объединить или переустановить. Так что это один из примеров, когда нужно использовать UUID.
Но, как правило, просто придерживайтесь автоматических инкрементированных INT. Это просто улучшает жизнь.
Проблемы с производительностью редко происходят из первичных ключей. Очень редко. –
Преимущество случайного порядка (UUID) заключается в том, что * пользователь * не может указать порядок создания. – Pacerier