sql >> Databáze >  >> RDS >> Mysql

Proč nepoužít čas vytvoření záznamu jako primární klíč?

Obecná odpověď zní, že se vaše data mohou změnit (tam, kde se nesmyslné ID nikdy nezmění)... co se stane, když si uvědomíte, že ukládáte čas v místní zóně a začne letní čas? Pokud chcete ukládat proti UTC a/nebo proti určitému časovému pásmu? Další informace o objednávkách viz wcoenenova odpověď .

Začnete-li vytvářet 1000 řádků za sekundu a budete se muset potýkat s daty, abyste to „zprovoznili“ a dělali něco, pro co nebyli zamýšleni. Možná byste přidali jednoznačný sloupec, který by váš index zvětšil a zpomalil...

A pak, když se váš projekt stane mega populárním a lidé se začnou pokoušet spouštět reporty/dotazy a "používá datum jako PK???!!!"

Zvažte také použití databáze, která umožňuje klastrované indexy na neprimárních sloupcích.



  1. PDO smyčkování přes a tisk fetchAll

  2. Vytvořte novou databázi pomocí MySQL Workbench

  3. Jak zabezpečit MySQL:Část druhá

  4. Jaká je maximální velikost MySQL VARCHAR?