Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que não usar a hora de criação de um registro como chave primária?


A resposta geral é que seus dados podem mudar (onde um id sem sentido nunca mudará)... o que acontece quando você percebe que está armazenando tempo na zona local e o horário de verão entra em ação? Se você deseja armazenar em UTC e/ou em um fuso horário específico? Para mais considerações sobre pedidos, consulte resposta de wcoenen .

Se você começar a criar milhares de linhas por segundo e estiver tendo que mexer com dados para "fazer funcionar" fazendo algo para o qual não foi planejado. Talvez você adicione uma coluna de desambiguação que tornaria seu índice maior e mais lento ...

E então, quando seu projeto se torna mega popular e as pessoas começam a tentar executar relatórios/consultas e "está usando uma data como PK???!!!"

Considere também usar um banco de dados que permita índices clusterizados em colunas não primárias.