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

Použití jednoho ze sloupců ve složeném klíči jako cizího klíče

Jak uvádí dokumentace MySQL na cizí klíče :

Pokud tedy používáte innodb, pak vám MySQL neumožňuje vytvořit cizí klíč v poli, které není polem úplně vlevo v indexu.

Důvodem je, že ve vícesloupcovém indexu nemůžete vyhledat hodnotu na základě pole, které není úplně vlevo, takže index nelze použít k rychlému vyhledání hodnoty pro kontrolu cizího klíče.

Toto chování indexů MySQL je popsáno v dokumentaci MySQL na vícesloupcové indexy :



  1. Zabijte postgresql relaci/připojení

  2. 3 způsoby, jak „Unhex“ řetězec v MySQL

  3. Spojte dva stoly s podmínkou - rubín na kolejích

  4. Fast String Matching MySQL Query