Я сомневаюсь, что у вас возникнут проблемы с пространством в результате использования, например, GUID, а не типов INT. Одна вещь, о которой я вас предупрежу, это то, что у вас может возникнуть соблазн создать кластерные индексы для столбцов GUID в базе данных. НЕ ДЕЛАЙТЕ ЭТОГО. По умолчанию GUID являются случайными, и вставка случайных данных в столбец с кластерным индексом вызывает несколько проблем. Кластерный, как вы, возможно, знаете, означает «ПОСЛЕДОВАТЕЛЬНОСТЬ ФИЗИЧЕСКОГО ХРАНЕНИЯ». Поэтому, когда вы вставляете новое случайное значение (GUID), эту строку обычно нужно вставлять в середину таблицы. Это может привести к массовой фрагментации индексов.
Мой совет - создать таблицу, которая связывает GUID со значениями INT (BIGINT, если вы ожидаете, что много пользователей), а затем использовать INT везде. Как только что сказал Фермин.