Buenas noches, tengo una consulta en MySQL que me está matando
les comento, anteriormente se corria el sistema en Visual Basic 2010 con una base de datos en ACCESS y funcionaba bien y rapido, el problema fue que ya no quisieron centralizado el sistema y se migro a un servidor online con MySQL
al hacer el cambio todo funciona perfectamente excepto esta consulta
select * from clientes where NoCliente not in (SELECT NoCliente from pagos where pagos.id In (select IdPago from Pagos_Detalle where Mes = 'Agosto' and año='2013')) order by Nombre ASC
Se tiene una tabla clientes una de pagos y otra de detalle de pagos
en clientes pues los clientes
en pagos se establece fecha y monto y a que cliente corresponde el pago
en pago_detalles se pone que meses se pagaron de servicios
esa consulta lo que hace es sacar los clientes DEUDORES, es decir los que no han pagado este mes
en MySQL, incluso corriendolo desde phpMyAdmin, o consola, (hice la prueba ya que pensé que era error del conector ODBC) esa consulta tarda
357.512 segundos (casi 6minutos!!!!) en access me lo hacía en segundos sin problemas
Alguna idea para optimizar la consulta y hacerla más rápida
De antemano Gracias.
les comento, anteriormente se corria el sistema en Visual Basic 2010 con una base de datos en ACCESS y funcionaba bien y rapido, el problema fue que ya no quisieron centralizado el sistema y se migro a un servidor online con MySQL
al hacer el cambio todo funciona perfectamente excepto esta consulta
select * from clientes where NoCliente not in (SELECT NoCliente from pagos where pagos.id In (select IdPago from Pagos_Detalle where Mes = 'Agosto' and año='2013')) order by Nombre ASC
Se tiene una tabla clientes una de pagos y otra de detalle de pagos
en clientes pues los clientes
en pagos se establece fecha y monto y a que cliente corresponde el pago
en pago_detalles se pone que meses se pagaron de servicios
esa consulta lo que hace es sacar los clientes DEUDORES, es decir los que no han pagado este mes
en MySQL, incluso corriendolo desde phpMyAdmin, o consola, (hice la prueba ya que pensé que era error del conector ODBC) esa consulta tarda
357.512 segundos (casi 6minutos!!!!) en access me lo hacía en segundos sin problemas
Alguna idea para optimizar la consulta y hacerla más rápida
De antemano Gracias.