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

Fremmednøgler, når kaskader ikke er nødvendige

Svarene på dette spørgsmål kan faktisk også gælde dit spørgsmål.

Hvis du har kolonner i tabeller, som refererer til rækker i andre tabeller, bør du altid bruge fremmednøgler, da selvom du mener, at du 'ikke har brug for' funktionerne i disse kontroller, vil det stadig hjælpe med at garantere dataintegriteten, hvis du glemt en check i din egen kode.

Ydeevnepåvirkningen af ​​tjek af fremmednøgler er ubetydelig i de fleste tilfælde (se ovenstående link), da relationelle databaser bruger meget optimerede algoritmer til at udføre dem (de er trods alt en nøglefunktion, da de faktisk er det, der definerer relationer mellem enheder).

En anden stor fordel ved FK'er er, at de også vil hjælpe andre med at forstå layoutet af din database.

Rediger: Da spørgsmålet, der er linket ovenfor, henviser til SQL-Server, er her et med svar af en meget lignende art til MySQL:Reducerer introduktion af fremmede nøgler til MySQL ydeevnen



  1. LPAD med indledende nul

  2. pg_dump vs pg_dumpall? hvilken skal man bruge til database backup?

  3. SQLiteException ved hjælp af WHERE +KEY_Date+='+date+'

  4. Ikke i stand til at generere et Google-diagram ved hjælp af MySQL-tabeldata som datakilde