Jump to content


Photo

¿Alguna forma de "acelerar" el trabajo de un ADOQuery?


  • Please log in to reply
3 replies to this topic

#1 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 11 August 2011 - 03:53 PM

Chavos del foro, ¿alguno tiene conocimiento de cómo puedo agilizar un TADOQuery para que no tarde MUCHO tiempo en devolver un dataset? Tengo un TADOQuery que llama a un Stored Procedure que produce un dataset. Y se tarda 45 segundos en devolverlo.

Usando Delphi 6, MS SQL Server y los componentes normales de acceso a base de datos ADO.
  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2092 posts
  • LocationRepública Dominicana

Posted 12 August 2011 - 06:33 AM

Saludos.

Para mejorar el desempeño de un proceso va a depender de muchos factores.  Pero puedes revisar lo que le cuesta a SQL Server ejecutar tu SP y ver si le "caben" algunos indices.

Si el uso del DataSet resultante se utilizaría para recorrerlo en una dirección puedes cambiar el valor de la propiedad CursorType a ctOpenForwardOnly.  A su vez puedes revisar la propiedad ExecuteOptions.

Prueba y comenta! (y)
  • 0

#3 Khronos

Khronos

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 56 posts

Posted 12 August 2011 - 07:49 AM

También puede ser que la consulta SQL no esté bien optimizada o que sea muy pesada...


Saludos.
  • 0

#4 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 12 August 2011 - 08:12 AM

Saludos.

Para mejorar el desempeño de un proceso va a depender de muchos factores.  Pero puedes revisar lo que le cuesta a SQL Server ejecutar tu SP y ver si le "caben" algunos indices.

Si el uso del DataSet resultante se utilizaría para recorrerlo en una dirección puedes cambiar el valor de la propiedad CursorType a ctOpenForwardOnly.  A su vez puedes revisar la propiedad ExecuteOptions.

Prueba y comenta!

Lo intento el día de hoy y les comento el resultado. Me interesa mucho como para dejarlo al olvido.

También puede ser que la consulta SQL no esté bien optimizada o que sea muy pesada...


Saludos.


En parte es ésto..., pero el detalle es que no hay manera de "bajarle" el proceso por que no da el resultado deseado.
  • 0




IP.Board spam blocked by CleanTalk.