Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Providers (https://www.clubdelphi.com/foros/forumdisplay.php?f=10)
-   -   Consulta rapida con ibmanager es lenta con datasnap (https://www.clubdelphi.com/foros/showthread.php?t=86586)

Osorio 05-09-2014 06:45:09

Consulta rapida con ibmanager es lenta con datasnap
 
Compañeros,

Tengo una consulta que involucra 4 tablas y que al ejecutarla con el IBManager responde(muestra los datos) en 16ms.

He armado un servidor datasnap (con la misma consulta exactamente igual) y un cliente que se conecta al servidor y oh sorpresa al abrir el clientdataset ahora tarda entre 4 y 5 segundos en responder (mostrar los datos).

Motor: Firebird 2.5
COnsola: IBManager
Delphi: 2009


Modelo de conexion del servidor: TSQLCOnection --> TSQLQuery --> TDatasetProvider


Modelo de conexion en el cliente: TSQLCOnection --> TDSProviderConexion --> TClientDataSet


La consulta es la siguiente:

Código SQL [-]
SELECT CR.IDCREDITO, CR.FECHA, CR.IDCAJA, CA.CAJA,  CR.VALOR, SUM(SA.VALOR - (SA.PAGOCAPITAL+SA.PAGOINTERES)) + 0 AS SALDOPENDIENTE
FROM TCREDITOS CR
     INNER JOIN TCAJAS CA ON CR.IDCAJA = CA.IDCAJA
     INNER JOIN TTERCEROS CL ON CR.IDCLIENTE = CL.IDTERCERO
     LEFT JOIN TCARTERA SA ON CR.IDCREDITO = SA.IDCREDITO
WHERE CR.IDCLIENTE = :parametro
GROUP BY CR.IDCREDITO, CR.FECHA, CR.IDCAJA, CA.CAJA,  CR.VALOR


Retorna 1223 registros.

Alguna propiedad en algún componente? redefino la consulta? estoy confundido.

Osorio 05-09-2014 18:36:12

Otro servidor datansap
 
Lo que hice:


1. Crear un nuevo cliente datasnap. Resultado: Igual de lento.
2. Crear un nuevo servidor datasnap para el nuevo cliente. Resultado: Veloz.
3. Conectar mi cliente original al nuevo servidor. Resultado: Veloz.

Estado actual: Mas confundido.

Osorio 06-09-2014 16:35:35

Es por el monitor
 
Hola.


Finalmente encontre que en el servidor original tenia un monitorSQL activo. Analizandolo bien es entendible la lentitud, ya que este manda a escribir en disco cada consulta SQL que se construye en la conexion.


Desactivado el monitor, datos veloces en el cliente.

Un saludo a todos.


La franja horaria es GMT +2. Ahora son las 06:10:13.

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