Ir al contenido


Foto

[RESUELTO] consulta lenta sql-firebird 2.1


  • Por favor identifícate para responder
4 respuestas en este tema

#1 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 13 septiembre 2009 - 09:34



sql
  1. SELECT * FROM  ACMSUB WHERE (CSID NOT IN (SELECT Csid FROM CENTRAL INNER JOIN evento ON central.evento =evento.evento WHERE (fechan >'09.05.2009')
  2. AND (evento.tipo NOT IN('C','O'))))



esta consulta la tengo hecha en IBexpert y se toma 5 minutos en darme los resultados.

La idea es:

Dame todos los clientes
donde
cliente no este en (los clientes que tienen un registro en central que sea del tipo 'C' o 'O' de la tabla eventos)


Igual resultados me da si la planteo de esta forma:


sql
  1. SELECT * FROM  ACMSUB WHERE CSID NOT IN (SELECT Csid FROM CENTRAL WHERE (fechan >'09/05/2009') AND (evento NOT IN('C','O'))) 




Estas consultas las tenia antes en sql 2000 y se tomaba de 10 a 15 segundos, que podria estar pasando
gracias.


  • 0

#2 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 14 septiembre 2009 - 07:22


Estas consultas las tenia antes en sql 2000 y se tomaba de 10 a 15 segundos, que podria estar pasando
gracias.


Ora manera de enunciar tu consulta es la siguiente:



sql
  1.       SELECT *
  2.         FROM ACMSUB
  3.     LEFT JOIN CENTRAL
  4.           ON ACMSUB.CSID = CENTRAL.CSID AND
  5.               CENTRAL.fechan > '09.05.2009'      AND
  6.               CENTRAL.Evento NOT IN ('C','O')
  7.         WHERE CENTRAL.csid IS NULL



Ahora, es importante que los siguientes campos estén indexados para mejorar el rendimiento
en ACMSUB    -> CSID
en Central    ->  Fechan y Evento.

Puedes comenzar por probar verificando los índices de esos campos y después probando entre las diferentes consultas. Eligiendo la que dure menos tiempo.

Saludos.


         
  • 0

#3 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 14 septiembre 2009 - 09:17

Gracias Poli por tu ayuda, el problema era que solo tenia con indices los Primary key pero no algunos campos importantes, al final todas las consultas corren practicamente igual.

gracias por tu ayuda.



PD. Todavia no me han dicho porque no hablaste durante la entrevista a Egostar o por lo menos no te escuche?
Dile a Fenareth que tambien te haga tu entrevista.   



  • 0

#4 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 14 septiembre 2009 - 09:21


PD. Todavia no me han dicho porque no hablaste durante la entrevista a Egostar o por lo menos no te escuche?
Dile a Fenareth que tambien te haga tu entrevista. 


jajaja, eso es por que el entrevistado era Eliseo y la reportera fué Fenareth así que yo como buen camarógrafo me dediqué a observar.

Espero pronto poder armar un buen podcast sobre bases de datos.


Saludos amigo
  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 septiembre 2009 - 09:32

PD. Todavia no me han dicho porque no hablaste durante la entrevista a Egostar o por lo menos no te escuche?
Dile a Fenareth que tambien te haga tu entrevista. 


Lo que pasa es que su voz estaba muy fea y mejor la edite :D :D :D :p

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.