Bueno lo que podria aportar para mejorar el tiempo de respuesta de tu consulta, es que hagas uso de los JOINS (INNER JOIN, LEFT JOIN, NATURAL JOIN,...) para tu consulta, ahi obtendras un mejor resultado ya que cuando haces join entre tablas por medio de las condiciones del where, primero generar un producto cartesiano entre las tablas y recien despues se filtran de acuerdo a las condiciones del WHERE, ya te imaginaras el tamañod del producto cartesiano de tantas tablas, seria algo asi:
Código PHP:
SELECT h.*,
c1.Nombres nombre, c1.codigo codigoe,
c2.nombre loca, c2.tequipo equipo, c2.codigo, c2.distrito, c2.departamento, c2.direccion, c2.telefono,
c6.estado,
c7.probdetail, c7.codigo code, c7.categoria cat,
c8.descripcion
FROM
llamada h INNER JOIN (empleado c1,comercio c2,instalacion c3,h_desk_es c6,detproblema c7,problema c8 )
ON (h.idempleado = c1.IdEmpleado AND h.idcomercio = c2.idcomercio AND
c2.idcomercio = c3.idcomercio AND h.estado= c6.id_hdeskes AND h.probid= c7.probid AND h.idprob= c8.idprob)
WHERE h.fecha >= '2007-02-01' and h.fecha <= '2007-02-31'
GROUP BY h.idhelp
ORDER BY h.idhelp desc
espero no haberme equivocado en algun join, pero de todas maneras te dejo un link para mas informacion sobre el uso de JOINS, saludos, cya
http://www.mysql-hispano.org/page.php?id=31&pag=9