Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 22-mar-2004, 16:00   #1 (permalink)
davidMS está en el buen camino
 
Avatar de davidMS
 
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
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
davidMS está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:01.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93