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

Cizí klíče, když kaskády nejsou potřeba

Odpovědi na tento dotaz může ve skutečnosti platit i pro vaši otázku.

Pokud máte v tabulkách sloupce, které odkazují na řádky v jiných tabulkách, měli byste vždy používat cizí klíče, protože i když si myslíte, že funkce nabízené těmito kontrolami „nepotřebujete“, stále vám to pomůže zaručit integritu dat v případě, že zapomněli jste zkontrolovat svůj vlastní kód.

Dopad kontrol cizích klíčů na výkon je ve většině případů zanedbatelný (viz výše uvedený odkaz), protože relační databáze k jejich provádění používají velmi optimalizované algoritmy (koneckonců jsou klíčovou vlastností, protože ve skutečnosti definují vztahy mezi entitami).

Další velkou výhodou FK je, že také pomohou ostatním pochopit uspořádání vaší databáze.

Upravit: Vzhledem k tomu, že výše uvedená otázka odkazuje na SQL-Server, zde je jedna s odpověďmi velmi podobného druhu pro MySQL:Snižuje zavedení cizích klíčů do MySQL výkon



  1. Flutter připojení k databázi na serveru

  2. Jak vypočítat retenci měsíc po měsíci pomocí SQL

  3. mySQL:Spojení tří tabulek - jak?

  4. Django ManyToMany prostřednictvím více databází