Depende de qué consultas serán las más frecuentes.
Puede terminar con tres índices.
-
Si tiene
... WHERE products_categories.product_id = XXX, cree un índice enproduct_id. -
Lo mismo para
category_id -
Cree un índice en ambos
category_idyproduct_idsi tiene... WHERE products_categories.category_id = XXX AND products_categories.product_id = YYY
Sin embargo, siguiendo el manual de MySQL
, tenga en cuenta que un índice en (category_id, product_id) puede ser redundante con un índice en (category_id) . Además, un índice en (product_id, category_id) puede ser redundante con un índice en (product_id) . Así que finalmente puede terminar con dos índices (en lugar de tres) que cubran todas sus necesidades de consulta frecuentes.