Hola rcastaneda:
Primero, comienza por cambiar la forma en que estás haciendo la unión en tus tablas para utilizar INNER JOIN en lugar de hacer las uniones en el WHERE es decir:
En lugar de hacer esto:
Código:
FROM Tabla1, Tabla2 WHERE Tabla1.Campo1 = Tabla2.Campo1
Utiliza esto:
Código:
FROM Tabla1 INNER JOIN Tabla2
ON Tabla1.Campo1 = Tabla2.Campo1
Segundo, veo que utilizas muchas veces condiciones
IN, este tipo de filtros son de los menos eficientes, dado que tienen que analizar el total de la tabla para poder validarse. Habría que revisar si puedes incluir también estos filtros como un INNER JOIN o en su defecto utilizar EXISTS en lugar de IN.
Revisa que todas tus tablas tengan definidas sus llaves, FK e índices.
Saludos
Leo.