Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Oracle
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 08-06-2016
darkone2k4 darkone2k4 is offline
Miembro
 
Registrado: abr 2008
Posts: 89
Poder: 17
darkone2k4 Va por buen camino
Lentitud ejecución SP desde Delphi

Salu2 amigos.

Les escribo por lo siguiente:
1.- Tengo un SP en Oracle 12c, el cual si lo ejecuto a nivel de BD con al TOAD, éste no tarda más de 2 segundos, pero cuando desde la aplicación llamo al SP con los mismos parámetros que utilicé a nivel de BD, delhpi tarda en 30 a 60 segundos en que devuelva el resultado.
He puesto un punto de interrupción antes de enviarle el último parámetro y al debugear, la demora se produce en el .open del tstoredproc.
2.- Me he asegurado de que los parámetros tengan el mismo tipo de datos tanto en el SP como en la aplicación delphi.
3.- Me llevé la query del SP a un componente tquery en delphi y el resultado es el mismo.
4.- El plan de ejecución de la query es bajo, los joins se realizan con los índices correctos, ya que por eso desde la BD el sp no tarda más de 2 segundos.

Alguno de ustedes habrá pasado por algo similar para que me puedan orientar?
Será posible que la ejecución del SP desde Delphi, altere el plan de ejecución de la query del SP?

Uso Delphi 6 y la BD es Oracle 12c Standar edition.

Estaré atento a sus comentarios.

Salu2.
Responder Con Cita
  #2  
Antiguo 09-06-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Intenta realizar otras operaciones sobre la base de datos, podria ser un select que traiga pocos registros para validar si es la conexion o la ejecucion de proceso lo que esta tardando y si tienes posibilida intenta con otros componentes de base de datos.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #3  
Antiguo 09-06-2016
darkone2k4 darkone2k4 is offline
Miembro
 
Registrado: abr 2008
Posts: 89
Poder: 17
darkone2k4 Va por buen camino
Cita:
Empezado por bitbow Ver Mensaje
Intenta realizar otras operaciones sobre la base de datos, podria ser un select que traiga pocos registros para validar si es la conexion o la ejecucion de proceso lo que esta tardando y si tienes posibilida intenta con otros componentes de base de datos.

Saludos.
Gracias por responder.
El SP devuelve una lista de alumnos por sala, por lo que no devuelve más de 30 registros.
Eliminé el componente TStoredProc, lo creé de nuevo y nada.
Definí los parámetros en el TStoredProc y nada. Definí los parámetros por línea de código y nada.

Estuve pensando en utilizar una conexión del tipo ADO sólo para el formulario en el cual tengo el problema, ya que actualmente trabajo con los componentes de la BDE, para ver si eso me puede servir.

salu2.
Responder Con Cita
  #4  
Antiguo 09-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Cómo lo ejecutas, qué codigo, etc.?
Responder Con Cita
  #5  
Antiguo 09-06-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
La verdad es que no tiene mucho sentido.
Prueba a realizar la llamada utilizando un ADOQuery (para descartar cosas).

Revisa los parámeteros del componente tipo CursorLocation, CursorType,...
No deberían afectar dado que el resultado comentas que son 30 registros, pero nunca se sabe.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 09-06-2016
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Prueba con los componentes de Unidac, que los he probado contra Oracle 11 y trabajan con buena velocidad.

Saludos
Luis
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lentitud al ejecutar aplicación desde el ide alopete Varios 7 19-04-2013 14:49:00
cambiar exe en ejecución desde delphi AlexCaro Internet 7 04-12-2008 09:54:20
Lentitud al copiar archivos desde cds o usb JoeyJordison Windows 2 17-01-2007 06:31:21
Creación de directorios en tiempo de ejecución desde aplicación Delphi vick Conexión con bases de datos 1 16-12-2005 22:18:17
Creación de directorios en tiempo de ejecución desde aplicación Delphi vick API de Windows 1 16-12-2005 22:13:35


La franja horaria es GMT +2. Ahora son las 14:21:40.


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