![]() |
Pregunta:Como agilizo mis consultas lentas(sp)?
Saludos a todos los foristas.
Desarrollo una aplicacion con Delphi 7, IBX y Firebird 1.5. La base de datos tiene una tabla con 100,000 registros. Tengo un SP el cual hace una primera consulta sobre otra tabla devolviendo unos 800 registros. Ahora bien, sobre este grupo de datos resultantes hago un barrido (for...do) y por c/u de ellos consulto sobre la tabla de los 100,000. ej: ... for select campoID from tb800 where campofecha between '01/05/2004' and '01/30/2004' into :vID do begin select vresultado from sp_tabla100000 (:vID); /* AQUI REALIZO CIERTAS OPERACIONES Y CALCULOS*/ end ... *************** fin del SP ******************************* /**********esto es lo que tiene el otro SP************/ select campototal from tb100000 where campoID =:vID into vresultado; Omiti algunas lineas para irme directamente sobre el problema. Esto no me ha ayudado a optimizar el tiempo , ya que actualmente tarda unos 15 min. el ejecutar este SP. Ya he leido y buscado en los hilos anteriores y nada me ha servido. Hago la consulta mas especifica y nada.Sigue igual. Como puedo mejorarlo Saludos y gracias de antemano. cacuna |
Hola
No entiendo bien lo que cuentas, creo deberias explicar mejor lo que es codigo delphi i lo que es codigo BD Pero si compo parece haces selects contra un campo id que supondria que tiene un indice o es primary key tendria que ser muy rapido a no ser 100000 la busqueda pero si solo la haces 800 y con un indice en el campo de busqueda firebird va que vuela En fin no te puedo ayudar mas |
Gracias...
Muchas gracias Celades pero no habia pasado 10 min. de haber publicado este hilo cuando di con la respuesta despues de 3 dias de busqueda.
Erroneamente nunca genere indices por los campos que realizo la busqueda. La consulta sobre la tabla sin indices duraba hasta 20 min. La misma consulta con indices ni 10 segundos. Gracias nuevamente por tu interes. Cacuna |
La franja horaria es GMT +2. Ahora son las 10:14:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi