По умолчанию ASPNetUserIds - 128 строк символов, и производительность просто отличная.
Если ключ HAS уникален в таблице, то это должен быть Ключ. Вот почему;
первичный строковый ключ = правильные связи БД, 1 строковый ключ (первичный) и 1 строковый индекс (первичный).
Другим вариантом является типичный int Key, но если строка HAS уникальна, вам все равно, вероятно, потребуется добавить индекс из-за непрерывных запросов для проверки или проверки его уникальности.
Таким образом, использование ключа идентификации int = Неверные отношения с БД, 1 int-ключ (Primary), 1 int index (Primary), вероятно, уникальная строка Index и необходимость проверки той же строки вручную (не существует) ( что-то вроде проверки SQL может быть).
Чтобы повысить производительность, используя int над строкой для первичного ключа, когда строка HAS должна быть уникальной, это должна быть очень странная ситуация. Я всегда предпочитал использовать строковые ключи. И, как хорошее практическое правило, не денормализуйте базу данных, пока не наберете NEED to.