Prueba usando
FORCE INDEX:
Por otro lado, tienes demasiadas condiciones en el WHERE a evaluar, lo que no es una buena idea. Posiblemente se pueda mejorar usando las tablas relacionadas con sus JOINs, como las de categorías y empresas, lo que permitría quitar algunas.