Otra posibilidad:
Código MySQL:
Ver original P.internalID,
P.ProdTitle
product_categories_members PCM
ON P.internalID
= PCM.ProdMainID
Habría que probar también establecer un índice en la tabla `product_categories_members` sobre el campo ProdMainID, si es que no existe ya.
El tema pasa aquí por lograr definir un modo de alta selectividad en una de las dos tablas.
Si una tiene 25.000 y la otra 8.000l oque hay que lograr es reducir primero los registros devueltos por la primera, y luego los de la segunda.
El tema, en una página Web, es que la lentitud no está dada tanto por los registros, sino por la pasa de datos transportada, lo que significa que lo que se satura no es MySQL sino el TCP...