Нет ничего плохого или хорошего в том, что касается дизайна базы данных.Вы должны создать свою базу данных, исходя из своих потребностей.
Вы упомянули некоторые плюсы и минусы использования int и uuid, и теперь я рекомендую перечислить ваши потребности, чтобы вы могли выбрать, какую использовать.
Также имейте в виду, что вы можете использовать некоторые приемы, чтобы обойти ограничения как int, так и uuids.
Например, если uuid кажется вам подходящим вариантом, но скорость поиска их в базе данных беспокоитвы, то вы можете просто использовать индексацию, чтобы максимизировать скорость для uuids.и если у вас много записей, и вам нужно, чтобы они были быстрыми, вы можете использовать предварительно созданные uuids.(генерируйте некоторые uuids, индексируйте их и выбирайте один из них каждый раз, когда вам нужно)
А для целых можно просто использовать 2 целых в качестве идентификатора, которые оба они вместе сделают идентификатор или некоторые другие.другой математический алгоритм, который делает его немного более безопасным, но все же достаточно быстрым.
Это всего лишь два примера того, как вы можете оптимизировать свою систему, чтобы она была достаточно быстрой и в то же время отвечала вашим потребностям наилучшим образом..
И для случая, когда в дизайне базы данных можно использовать как целые, так и uuids: совершенно нормально, если это лучший способ сделать это как для удовлетворения ваших потребностей, так и для достижения максимальной производительности изэто.