2009-10-11 7 views

Répondre

3

Les requêtes qui rejoignent des tables à partir de plusieurs moteurs de stockage peuvent utiliser des index provenant de n'importe quelle table.

Notez toutefois que MyISAM ne prend pas en charge les clés étrangères et que vous ne pouvez pas créer de clé étrangère ciblant une table MyISAM. Voir the MySQL manual pour plus de détails sur les clés étrangères.

+0

Oui, je sais. C'est une clé étrangère "conceptuelle" –

0

Oui, c'est possible. La plupart des jointures seront implémentées en effectuant une sélection normale à partir d'une table (espérons-le, une recherche de clé ou une analyse de plage), puis en recherchant la clé de jointure sur l'autre table. Cette seconde recherche utilisera un index approprié sur l'autre table (à condition qu'un tel index existe et que l'optimiseur décide que c'est une bonne idée de l'utiliser).

L'interface du moteur de stockage MySQL permet au serveur d'utiliser des index de différents moteurs dans la même requête.

L'existence ou non d'une contrainte de clé étrangère est sans importance pour les sélections - elle utilisera de toute façon des index appropriés.

Questions connexes