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