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