Pourquoi n'est-ce pas MySQL à l'aide de l'une de ces clés possibles?

J'ai la requête suivante:

SELECT t.id
FROM account_transaction t
JOIN transaction_code tc ON t.transaction_code_id = tc.id
JOIN account a ON t.account_number = a.account_number
GROUP BY tc.id

Quand je fais un EXPLAIN la première ligne montre, entre autres choses, ceci:

table: t
type: ALL
possible_keys: account_id,transaction_code_id,account_transaction_transaction_code_id,account_transaction_account_number
key: NULL
rows: 465663

Pourquoi est-clé NULL?

  • Vous devez coller ensemble de l'EXPLIQUER de sortie. Par les regards de lui, il n'y a pas de facteur limitant pour la table t, ce qui signifie que votre requête prend toutes les données de la table t, donc pas besoin d'utiliser l'indice que ce soit.
  • peut-être que votre requête renvoie toutes les lignes de account_transaction, dans ce cas, une clé peut ne pas être utile.
InformationsquelleAutor Jason Swett | 2011-04-19