2009-01-24 16 views
6

Al guardar datos en diferentes tablas sql, ¿es mejor usar el ID de usuario GUID o simplemente usar el nombre de usuario? ¿Hay alguna diferencia de rendimiento al usar GUID?UserName o guid UserID?

Respuesta

11

Utilice la guía. Es el identificador interno del sistema para sus usuarios. Esto permite la posibilidad de cambiar los nombres de usuario si las personas lo desean.

Esto encaja perfectamente con el concepto de una ID interna que significa algo para su sistema, frente a la ID externa que significa algo para sus usuarios.

+0

No solo eso, sino que los nombres de usuario se pueden cambiar y/o duplicar IRL. – Josef

+0

Parece ser la forma correcta, pero ¿por qué no es accesible ... User.Identity.? Estoy tratando de entender por qué fue hecho así. – Brettski

5

Vi un montón de discusiones sobre el rendimiento en GUID frente a INT (incremento automático). Pero podría recomendarle que use GUID.

Hm .. ¿Está preguntando sobre el campo utilizado como primario o sobre el uso/no de relaciones (inserte un GUID en una tabla que tenga otra tabla con asociaciones de nombre de usuario y GUID)?

+0

primario en la tabla Usuarios como guid. campo de referencia en otras tablas (como guid o no) – zsharp

+2

GUID vs Int es más sobre el índice agrupado de SQL Server. Se prefiere un valor monótonamente creciente (entero de identidad) para el índice agrupado, independientemente de la clave primaria. – Josef

+0

@Josef: ahora entiendo por qué tienes toda la razón :) – abatishchev