Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2004, 17:00
Avatar de davidMS
davidMS
 
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 22 años
Puntos: 0
Mejorar query

Hola a todos.....
Tengo el siguiente tema:
Estoy haciendo una consulta a una bd con mas de 115000 registros y tengo un query que lo que hace es tomar las transacciones y sumarlas de esta manera:
Código PHP:
SELECT HIGH_PRIORITY 
  SUM
(`transaction`.`Amount`)
FROM
  transaction
  INNER JOIN user ON 
(transaction.FkCompany_UserId user.User_Id)
  
INNER JOIN company ON (user.FkCompanyId company.Company_Id)
  
INNER JOIN deposit ON (transaction.Transaction_Id deposit.FkTransactionId)
WHERE
  company
.Company_Id '66' AND
  
transaction.FkStatusId '2' 
el problema es el siguiente hay diferentes tipos de transacciones, en este caso el que se ocupa es el de despositos, por eso el inner join de la tabla depositos en transacciones, despues el resultado se tienen que presentar a los usuarios de la compania donde las transacciones queda registrado el usuario, entonces hay que darle el innerjoin user a transacciones y despues innerjoin company a usuarios, para realizar la busqueda por compañia, el problema es, que o como esta estructurado este query y como hay miles de registros, se tomo unos 35seg en procesarlo, algun comentario o consejo para accelerar este query?

estoy usando innoDB de mysql4.0..

de antemano muchas gracias