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_id
etproduct_id
si 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.