sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué no utilizar la hora de creación de un registro como clave principal?

La respuesta general es que sus datos pueden cambiar (donde una identificación sin sentido nunca lo hará)... ¿qué sucede cuando se da cuenta de que está almacenando la hora en la zona local y se activa el horario de verano? Si desea almacenar contra UTC y/o contra una zona horaria específica? Para obtener más consideraciones sobre pedidos, consulte respuesta de wcoenen .

Si comienza a crear miles de filas por segundo, y tiene que jugar con los datos para "hacer que funcione" haciendo algo para lo que no estaba destinado. Tal vez agregaría una columna de desambiguación que haría que su índice fuera más grande y más lento...

Y luego, cuando su proyecto se vuelve mega popular y la gente comienza a intentar ejecutar informes/consultas y "está usando una fecha como PK???!!!"

También considere usar una base de datos que permita índices agrupados en columnas no primarias.