Lentitud con archivos de volumen grande
Tengo VFP 6.0 y estoy trabajando con archivos de gran volumen (mas de 300000 registros) y me es exageradamente lento usando inclusive sql del vfp, probe con los scan/endscan, uso indices etc y sigue el mismo problema, mi PC es potente, no es problema de hardware alguien me puede dar alguna idea de como trabajar con estos archivos, desde ya muchas gracias
Que tal Marcos.
Estos problemas son comunes cuando se trabajan con tablas grandes sin utilizar filtros o vistas confiltros, el hecho de que tu forma tenga que manejar una gran cantidad de datos en su entorno hace que funcione mas lento, ¿Cómo resolver este problema?.
** Esto no se resulve con Indices.
Creo que la mejor forma de trabajar con es utilizando vistas para cada tabla y colocando una variable en el tab Filter, para el campo principal y se veria mas o menos asi:
FieldName Not Criteria Example
cFactura = ?KeyFiltro
Y en la propiedad NoDataOnLoad de la vista dentro del Dataenvironment = .T.
De este modo no carga datos, lo hara cuando hagas una busqueda utilizando la variable KeyFiltro
Si necesitas buscar la factura '100001' en la tabla de facturas, Asi:
KeyFiltro='100001'
Select Facturas
Requery() && Refresca la tabla y recupera el registro coincidente con la variable.
Podes hacer pruebas desde la ventana de comandos con una tabla y veras los resultados.
Espero te sirva.
Alex Vargas
Estos problemas son comunes cuando se trabajan con tablas grandes sin utilizar filtros o vistas confiltros, el hecho de que tu forma tenga que manejar una gran cantidad de datos en su entorno hace que funcione mas lento, ¿Cómo resolver este problema?.
** Esto no se resulve con Indices.
Creo que la mejor forma de trabajar con es utilizando vistas para cada tabla y colocando una variable en el tab Filter, para el campo principal y se veria mas o menos asi:
FieldName Not Criteria Example
cFactura = ?KeyFiltro
Y en la propiedad NoDataOnLoad de la vista dentro del Dataenvironment = .T.
De este modo no carga datos, lo hara cuando hagas una busqueda utilizando la variable KeyFiltro
Si necesitas buscar la factura '100001' en la tabla de facturas, Asi:
KeyFiltro='100001'
Select Facturas
Requery() && Refresca la tabla y recupera el registro coincidente con la variable.
Podes hacer pruebas desde la ventana de comandos con una tabla y veras los resultados.
Espero te sirva.
Alex Vargas
