MySQL utilisera presque certainement l'indice user_id.
Pour les requêtes en général, l'optimiseur élabore les chemins d'accès possibles et utilise des statistiques précalculées sur le contenu de la table pour estimer lequel sera le plus rapide.
Par exemple, si vos articles
tables avaient également une colonne de date article_date
qui a été indexé et que vous avez exécuté une requête avec prédicats sur les deux user_id
et article_date
. Ensuite, MySQL devra estimer quel index sera le plus rapide pour sélectionner les lignes requises.
S'il y a des milliers d'articles par jour par beaucoup d'utilisateurs différents, alors l'index user_id pourrait être meilleur. Mais s'il n'y a que quelques articles par jour, mais que la plupart des utilisateurs publient un grand nombre d'articles, il peut être plus rapide d'utiliser l'index article_date à la place.
Utiliser la syntaxe Explain – Codler