Cela dépend des requêtes qui seront les plus fréquentes.
Vous pouvez vous retrouver avec trois index.
-
Si vous avez
... WHERE products_categories.product_id = XXX, créez un index surproduct_id. -
Idem pour
category_id -
Créez un index sur
category_idetproduct_idsi vous avez... WHERE products_categories.category_id = XXX AND products_categories.product_id = YYY
Cependant, en suivant le manuel MySQL
, gardez à l'esprit qu'un index sur (category_id, product_id) peut être redondant avec un index sur (category_id) . De plus, un index sur (product_id, category_id) peut être redondant avec un index sur (product_id) . Ainsi, vous pouvez enfin vous retrouver avec deux index (au lieu de trois) couvrant tous vos besoins fréquents en matière de requêtes.