Crear ID de usuario a pesar de nombres de usuario únicos?

Mi aplicación web tendrá varios tipos de usuarios: un usuario root, administradores de sistemas, clientes, contratistas, etc. Me gustaría tener una tabla "Usuario" que tenga las columnas "Nombre de usuario", "Contraseña" y " Rol "con rol es uno de los roles antes mencionados. Por ejemplo, también tendré una tabla llamada "Cliente" para almacenar atributos específicos del cliente.

Aquí está mi pregunta. Dado que todos los nombres de usuario serán únicos, podría usar el nombre de usuario como clave principal para la tabla de usuarios. Sin embargo, ¿tendría más sentido crear una columna de "ID de usuario" y utilizarla en lugar de la columna de nombre de usuario como la PK? Hay muchas otras tablas que usarán este Usuario PK como una clave externa y creo que, desde el punto de vista del rendimiento, será más rápido comparar los ID de usuario que las cadenas de texto de nombre de usuario.

Gracias por su respuesta.

Respuestas a la pregunta(3)

Su respuesta a la pregunta