Voy a ir probando todas las opciones y después les cuento cómo me fue Muchas gracias por la ayuda. Saludos,
Walter De: [email protected] [mailto:[email protected]] En nombre de Rafael Copquin Enviado el: lunes, 30 de julio de 2012 11:57 a.m. Para: GUFA List Member Asunto: [GUFA] Opciones para manejo de tablas gigantes Te agradezco lo de sabios comentarios aunque no soy tan sabio. En el caso de VFP, no te lo puedo asegurar, pero si usaras SQL Server como back end la respuesta es muy clara: creas un stored procedure en el servidor y eso si, con seguridad, te trae solamente los registros necesarios. En el caso de VFP deberías hacer algo así (para probar la performance): use tabladelservidordelaredlocal select top 10............. into cursorlocal use in tabladelservidordelaredlocal select cursorlocal De esa manera abrís brevemente la tabla de la red (mientras se hace la consulta a un cursor local) y la cerrás inmediatamente. No estoy muy seguro de si al abrir la tabla estás trayendo todos los registros (creo que no), pero al conectar y desconectar le hacés al servidor un "touch and go" Probalo y medi la performance contra lo que tenés ahora. De todos modos, con el ejemplo de paginación que publiqué en ese artículo podés hacer las consultas mucho más eficientes. Además, la consulta la podés hacer usando un cursoradapter, lo que te permite modificar el o los registros de la tabla que estás trayendo, con solamente mandarle un tableupdate. Rafael Copquin El 30/07/2012 11:31 a.m., Walter Ferrero escribió: Rafael, buen día y muchas gracias por estar dispuesto a dar una mano como siempre! Entiendo el concepto de paginación, pero creo que en algún momento leí por algún lado que Visual Fox resuelve siempre las consultas localmente. Es decir, en el caso de la cláusula TOP, ¿no trae primero TODO el conjunto de datos de la tabla y después aplica localmente el filtro? Te consulto porque si así fuera no voy a resolver el problema de rendimiento o uso de la red que tengo actualmente. Muchas gracias nuevamente, y quedo al aguardo de tus sabios comentarios. Saludos, Walter De: [email protected] [mailto:[email protected]] En nombre de Rafael Copquin Enviado el: lunes, 30 de julio de 2012 10:49 a.m. Para: GUFA List Member Asunto: [GUFA] Opciones para manejo de tablas gigantes Lo que tenés que hacer es usar paginación, o sea, traer a la pantalla solamente la cantidad de artículos que necesitás ver. Eso lo hacés con comandos select apropiados que usan la cláusula TOP. Este artículo que escribí hace un tiempo te dice cómo hacer precisamente eso. Está en inglés porque, como lo expliqué el otro día, la revista dejó de publicar artículos sobre Visual FoxPro, pero dejó los que tenía solamente en su versión en inglés. http://www.universalthread.com/ViewPageArticle.aspx?ID=847 Saludos Rafael Copquin El 29/07/2012 10:07 p.m., Walter Ferrero escribió: Amigos, hace un buen rato que no paso por acá pero me veo en un callejón sin salida y necesito recurrir a vuestra experiencia. El tema es el siguiente: tengo en un cliente un sistema de gestión con la tabla de artículos con gran cantidad de datos, y al ejecutar el sistema en red (son 8 puestos de trabajo + 1 server dedicado con la Base de Datos) tarda bastante cuando interviene la tabla de artículos en algún formulario. Mi pregunta es qué estrategia podría utilizar para no mover la totalidad de los datos por la red cuando utilizo esta tabla. ¿Sería posible resolverlo con cursoradapter o existe una solución mejor? Desde ya muchas gracias por su tiempo. Saludos, Walter Ferrero Socio MUG 1696
