Dire que j'ai une requête comme ce qui suit:Des indices multiples sont-ils nécessaires pour plusieurs clauses where?
SELECT * FROM users WHERE username = 'test' AND somethingelse = 'test'
Je me demande s'il est nécessaire d'indexer les deux colonnes pour l'optimisation. Est-ce que MySQL trouve d'abord toutes les colonnes de nom d'utilisateur avec la valeur 'test', puis recherche ces résultats pour les colonnes somethingelse avec 'test'? Ou cela arrive-t-il simultanément?
Est-ce que le nom d'utilisateur + quelque chose que vous faites référence à un index composite? –
Si vous avez une clé username + somethingelse, vous n'avez pas besoin d'une clé de nom d'utilisateur (pour la recherche, vous pourriez en avoir besoin pour une contrainte unique). –
@ soren.qvist - oui, c'est un index sur les deux. – duffymo