sql >> Databasteknik >  >> RDS >> Mysql

Varför använda Foreign Key-begränsningar i MySQL?

Främmande nycklar upprätthålla referensintegritet . Dessa begränsningar garanterar att en rad i en tabell order_details med ett fält order_id hänvisar till en orders Tabell kommer aldrig att ha ett order_id värde som inte finns i orders tabell.

Främmande nycklar krävs inte för att ha en fungerande relationsdatabas (i själva verket MySQL:s standardlagring motorn stöder inte FKs), men de är definitivt viktiga för att undvika brutna relationer och föräldralösa rader (dvs. referensintegritet). Förmågan att upprätthålla referensintegritet på databasnivå krävs för C i ACID att stå.

När det gäller dina farhågor angående prestanda, i allmänhet finns det en prestationskostnad, men kommer förmodligen att vara försumbar. Jag föreslår att du lägger in alla dina främmande nyckelbegränsningar och experimenterar bara utan dem om du har verkliga prestandaproblem som du inte kan lösa annars.



  1. Viktig PostgreSQL-övervakning - Del 3

  2. Lägga till ett FULLTEXT-index i Doktrin 2 med hjälp av anteckningar?

  3. sql hur man kombinerar tre frågor från två tabeller till en fråga

  4. slumpmässiga tal i java