Dipende da quali query saranno le più frequenti.
Potresti ritrovarti con tre indici.
-
Se hai
... WHERE products_categories.product_id = XXX, crea un indice suproduct_id. -
Lo stesso per
category_id -
Crea un indice su entrambi
category_ideproduct_idse hai... WHERE products_categories.category_id = XXX AND products_categories.product_id = YYY
Tuttavia, seguendo il manuale MySQL
, tieni presente che un indice su (category_id, product_id) potrebbe essere ridondante con un indice su (category_id) . Inoltre, un indice su (product_id, category_id) potrebbe essere ridondante con un indice su (product_id) . Quindi potresti finalmente ritrovarti con due indici (anziché tre) che coprono tutte le tue frequenti esigenze di query.