sql >> Databáze >  >> RDS >> Sqlserver

Primární klíč serveru SQL v poli datum a čas

Když říkáte, že data budou jedinečná, myslíte tím, že myslíte budou jedinečné, nebo je jejich jedinečnost zaručena uvedením problému? Podle mých zkušeností se některé věci ukázaly být mnohem méně jedinečné, než si kdo představuje (příkladem jsou čísla sociálního zabezpečení v USA).

Pokud hodnoty data nejsou zaručeny jedinečné, měli byste přidat klíč celého čísla.

Pokud jsou hodnoty data zaručeně jedinečné, změní se? Pokud se změní, odkazují na ně jiné tabulky? Pokud jsou obě odpovědi "ano", pravděpodobně byste měli přidat celočíselný klíč.

Pokud jsou hodnoty data zaručeně jedinečné a nemění se nebo na ně není odkazováno, můžete je použít pro klíč. Běžné hodnoty DATETIME jsou 8 bajtů a standardní hodnoty INTEGER jsou 4 bajty, což může mít menší vliv na indexování. Pokud jsou vaše hodnoty data pouze data nebo pouze s přesností na minutu nebo méně a v omezenějším rozsahu povoleném typem, můžete použít SMALLDATETIME a získat tyto hodnoty indexu až na 4 bajty.



  1. nemůže extrahovat prvky ze skaláru

  2. Použití operátoru LIKE MySQL pro pole kódovaná v JSON

  3. Jak uložit časové pásmo uživatelů v mysql?

  4. Příkaz přípravy MySql - je možné parametrizovat název sloupce nebo název funkce?