Criar UserID, apesar de nomes de usuário exclusivos?

Meu aplicativo da web terá vários tipos de usuários: um usuário root, administradores de sistema, clientes, contratados, etc. Gostaria de ter uma tabela "Usuário" que terá as colunas "Nome de usuário", "Senha" e " Papel "com papel sendo um dos papéis acima mencionados. Por exemplo, também terei uma tabela chamada "Cliente" para armazenar atributos específicos do cliente.

Aqui está a minha pergunta. Como todos os nomes de usuários serão exclusivos, eu poderia usar o nome de usuário como a chave primária para a tabela Usuário. Seria mais sensato, no entanto, criar uma coluna "User ID" e usá-la em vez da coluna Username como PK? Existem muitas outras tabelas que usarão esta User PK como uma chave estrangeira e eu pensaria que, do ponto de vista do desempenho, será mais rápido comparar IDs de usuário em vez de strings de texto de nome de usuário.

Obrigado pela sua resposta.

questionAnswers(3)

yourAnswerToTheQuestion