sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor ikke bruge oprettelsestiden for en post som en primær nøgle?

Det generelle svar er, at dine data kan ændre sig (hvor et meningsløst id aldrig vil)... hvad sker der, når du indser, at du gemmer tid i den lokale zone, og sommertid starter? Hvis du vil gemme mod UTC og/eller mod en bestemt tidszone? For flere bestillingsovervejelser se wcoenens svar .

Hvis du begynder at oprette 1000 rækker i sekundet, og du bliver nødt til at rode med data for at "få det til at fungere" ved at gøre noget, det ikke var beregnet til. Måske ville du tilføje en disambigueringskolonne, der ville gøre dit indeks større og langsommere ...

Og når dit projekt så bliver mega populært, og folk begynder at prøve at køre rapporter/forespørgsler og "det bruger en dato som en PK???!!!"

Overvej også at bruge en database, der tillader klyngede indekser på ikke-primære kolonner.



  1. indstille mamp-porte til 80 og 3306

  2. Sådan finder du dubletter i MySQL

  3. Hvordan opretter jeg en unik begrænsning, der også tillader nuller?

  4. 2 måder at aktivere ordombrydning i SQLite