Pregunta: | 62664 - MEJORAR TIEMPO DE RESPUESTA CON DBISAM |
Autor: | Mary Luque Nardone |
Buenas Tardes, estoy generando un reporte,se puede generar buscando por codigo, descripcion y referencia, la sentencia de busqueda funciona correctamente, pero cuando son mas de 800 datos el proceso es muy lento y hay veces que se queda guindado. Estoy trabajando con DELPHI 5 y DBISAM. Les coloco la consulta. Si me pueden ayudar a optimizar el tiempo de respuesta, se lo agradeceria. if ((EditDesde.Text <> '') and (EditHasta.Text <> ''))then begin Correlativos := ' WHERE FI_CODIGO BETWEEN '''+correlativo1+''' and '''+correlativo2+''''; DesdeHasta := 'CODIGOS: desde: '+EditDesde.Text+' hasta: '+EditHasta.Text; end; if (EditDescripcion.Text <> '') then begin if (Correlativos='') then Descripcion := ' WHERE FI_DESCRIPCION LIKE ''%'+UPPERCASE(EditDescripcion.Text)+'%''' else Descripcion := ' AND FI_DESCRIPCION LIKE ''%'+UPPERCASE(EditDescripcion.Text)+'%'''; TituloDescripcion := 'DESCRIPCION: '+EditDescripcion.Text; end; if (EditReferencia.Text <> '') then begin if ((Correlativos='') and (Descripcion = '')) then Referencia := ' WHERE FI_REFERENCIA = '''+EditReferencia.Text+'''' else Referencia := ' AND FI_REFERENCIA ='''+EditReferencia.Text+''''; Referencias := 'REFERENCIA: '+EditReferencia.Text; end; Query2 := 'SELECT Sinventario.FI_CODIGO,Sinventario.FI_DESCRIPCION,Sinventario.FI_REFERENCIA,SFixed.FX_COSTOS,Sinventario.FI_MARCA,CAST(FT_EXISTENCIA AS FLOAT) AS FT_EXISTENCIA FROM '+' Sinventario inner join SFixed on(SFixed.FX_CODIGO=FI_CODIGO) left join sinvDep on (sinvDep.FT_CODIGOPRODUCTO=FI_CODIGO)'+Correlativos+Referencia+Descripcion+OrderBy; |