Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2004
Sudamericano Sudamericano is offline
Miembro
 
Registrado: feb 2004
Posts: 41
Poder: 0
Sudamericano Va por buen camino
Gracias por tu respuesta tan rapida, pero si he creado el indice

creo que lo ideal es modificar ese sp, y en eso necesito la ayuda de ustedes

Última edición por Sudamericano fecha: 07-06-2004 a las 19:50:33.
Responder Con Cita
  #2  
Antiguo 08-06-2004
cahp cahp is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 90
Poder: 22
cahp Va por buen camino
para que te devuelva solo los que difieren las cantidades, pon el suspend dentro de un if:

Código SQL [-]
DIFERENCIA = STOCK_FISICO - :CNT;

IF (DIFERENCIA > 0) THEN
    SUSPEND;


Saludos.
Responder Con Cita
  #3  
Antiguo 08-06-2004
cahp cahp is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 90
Poder: 22
cahp Va por buen camino
Otra cosa que puedes hacer es crearte una vista de la segunda tabla, y solo tienes que comparar el stock por codigo de producto en las dos tablas


Saludos de nuevo.
Responder Con Cita
  #4  
Antiguo 08-06-2004
Sudamericano Sudamericano is offline
Miembro
 
Registrado: feb 2004
Posts: 41
Poder: 0
Sudamericano Va por buen camino
Gracias por la sugerencia, lo intente pero el ibexpert aparentemente se cuelga y luego despues de un largo tiempo aparecen los datos
cuando pongo el suspend despues del if DIFERENCIA <>0

Tu crees que se pueda mejorar ese SP,
Responder Con Cita
  #5  
Antiguo 08-06-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
¿ Cuantos registros tienen las tablas ?.

Estas consultas son muy sencillas, y solo con el índice para CODIGO_PRODUCTO en la tabla SERIES_PRODUCTOS deberias tener bastante para optimizar el procedimiento. ¿ Estás seguro que tienes este índice creado ?.

Respecto a la pregunta que has hecho antes, tener el suspend dentro de un IF no hará que el procedimiento se ejecute más rápido (un poco si, pero casi no lo notarás). La diferencia está en que solo te devolverá los registros con DIFERENCIA <> 0, que parece ser que són los únicos que te interesan.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #6  
Antiguo 08-06-2004
Sudamericano Sudamericano is offline
Miembro
 
Registrado: feb 2004
Posts: 41
Poder: 0
Sudamericano Va por buen camino
Nuevamente gracias por su ayuda y tiempo, ejecutando el sp original (sin el if diferencia<>0) se demora 3 segundos aprox. cuando agrego el condicional se demora 3 minutos con 48 seg. aprox. como notaran es marcada la diferencia

por ahora la solucion fue, ejecutar el sp original y luego en mi aplicacion hacer el filtro respectivo, de esta manera es mas eficiente que usando el sp modificado

Si alguien puede dar sugerencias para hacerlo con un sp, sera bienvenida toda ayuda

mil gracias por su ayuda ,poro otro lado estoy para servirles en lo que necesiten, tanto en delphi, como en c .
Responder Con Cita
  #7  
Antiguo 08-06-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
¿ Estás seguro de eso ?

Una cosa es que cuando ejecutes el procedimiento almacenado, tarde 3 segundos en empezar a mostrarte registros, y otra cosa es que tarde 3 segundos en calcular toda la consulta.

Ejecuta el procedimiento original. Cuando en IB-Expert te empieze a mostrar registros, dale a Ctrl-Fin para indicarle que quieres ir al último. Cuenta el tiempo que tarda en saltar al último registro (es el tiempo que necesita para calcular todos los registros).

Seguro que te tiene que tardar aprox. 3 min. 50 seg., al igual que el procedimiento modificado.

Optimiza de verdad las consultas involucradas dentro del procedimiento almacenado. Para ello, consulta el plan de ejecución de esas consultas.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:31:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi