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

Je použití znaku jako primárního/cizího klíče ne ne?

Výkon není hlavní problém, alespoň ne pro mě. Problém je spíše o náhradních vs. přirozených klíčích.

Kódy zemí nejsou statické. Mohou a mění se. Země mění názvy (např. Etiopie na Eritreu). Vznikají (např. rozpad Jugoslávie nebo Sovětského svazu) a zanikají (např. západní a východní Německo). Když k tomu dojde, změní se kód normy ISO.

Více v Změny názvů od roku 1990:Země, města a další

Náhradní klíče bývají lepší, protože když k těmto událostem dojde, klíče se nezmění, změní se pouze sloupce v referenční tabulce.

Z toho důvodu bych se spíše přikláněl k vytvoření tabulek zemí a měn s primárním klíčem int.

Jak již bylo řečeno, klíčová pole varchar zaberou více místa a budou mít určité výkonnostní nevýhody, které pravděpodobně nebudou problémem, pokud neprovádíte velké množství dotazů.

Pro úplnost se můžete podívat na Chyby ve vývoji databáze způsobené AppDevelopers .



  1. Výkon MySQL:Indexy MySQL/MariaDB

  2. Co jsou uložené procedury PL/SQL v databázi Oracle

  3. MariaDB Connector/Python Beta nyní k dispozici

  4. Připojení vaší základní aplikace ASP.NET k místní instanci SQLServeru