soporta segundo primaria por optimizar modificar llave lentas eficientes datos cuantas consultas con mysql database-design primary-key unique-key

mysql - segundo - ¿Es malo usar el nombre de usuario como clave principal en el diseño de la base de datos?



optimizar base de datos mysql (2)

Él tiene razón por las razones equivocadas. El espacio de la tabla es secundario al hecho de que su aplicación podría exigir más tarde que los nombres de usuario puedan cambiarse o incluso dejar de ser únicos (puede imaginar una aplicación donde no se requieren nombres de usuario únicos, como Desbordamiento de pila) y, por lo tanto, su aplicación necesitaría una refactorización importante. migración de datos en lugar de un ligero cambio en el otro caso (entero PK).

Me lo dijo un amigo:

¿Qué clave única usas? Espero que no esté guardando el nombre de usuario completo, ¡esto usará demasiado espacio de tabla! Asigne un ID de usuario único a cada NOMBRE de usuario (único) y guarde este ID de usuario (debería ser INTEGER UNSIGNED auto_increment o BIGINT UNSIGNED auto_increment). No olvides crear una referencia.

CLAVE usertable ( usertable ) REFERENCIAS usertable ( usertable ) en todas las tablas que utilizan el usertable .

¿Es correcta la afirmación anterior? ¿Por qué o por qué no?


Creo que tiene razón (por la razón equivocada) porque la clave principal no puede cambiar, pero el username puede cambiar. Así que deberías usar userid porque no cambiaría.