FoxPro/Visual FoxPro - Acelerar lectura y carga del Grip

 
Vista:

Acelerar lectura y carga del Grip

Publicado por Julio (2 intervenciones) el 05/03/2010 16:08:48
Tengo un sistema administrativo pero desde hace tiempo como ha ido creciendo la data se me esta haciendo lento la carga de la informacion en los grip, aqui coloco parte de codigo para que vean y me ayuden o propongan una solucion a este problema que ya los usuarios se me estan quejando por la lentitud, claro no dudo que tambien el servidor influya en eso.
Aqui les dejo el codigo saludos y espero su ayuda o algun aporte:

SELECT NOTASUMI.NUM_NOTA, NOTASUMI.DESCRIPCION, NOTASUMI.NUM_CUENTA, NOTASUMI.FECHA, ;
DEPOSITOS.DESCRIPCION, NOTASUMI.TIPO_CUENTA;
FROM NOTASUMI, DEPOSITOS ;
WHERE DEPOSITOS.CODIGO = NOTASUMI.COD_DEPO ;
ORDER BY NOTASUMI.NUM_NOTA DESC ;
INTO CURSOR XNOTASUMI1
THISFORM.GRID1.RECORDSOURCE = " "
THISFORM.GRID1.RECORDSOURCETYPE = 4
THISFORM.GRID1.RECORDSOURCE = "SELECT * FROM XNOTASUMI1 INTO CURSOR XNOTASUMI"
THISFORM.COMMAND3.SETFOCUS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Acelerar lectura y carga del Grip

Publicado por es_binario (757 intervenciones) el 07/03/2010 17:44:11
Lamentablemente el problema son las dbf, y eso es solo el comienzo, despues de superar los 100 mil registros suele haver estas demoras, aunque estoy seguro de que tu consulta no supera el minuto en tiempo de reaccion, una sugerencia seria migrar a un verdadero motor cliente servidor como sql server o mysql, pero eso significaria casi re-escribir todo tu programa, la segunda opcion seria que, escribieras un pequeño codigo que recibiese peticiones de los clientes, es decir que haga las consultas en el servidor y los grabe en una tabla, en donde esa tabla sea del tipo temporal y accedeas a ella desde un cliente, con una tabla cabezera que se debe escribir solo cuando la consulta sea terminada, de esa forma aunque tendra mas carga el servidor no viajaran datos inecesarios por la red, ya que una tabla compartida en red y una consulta sobre ella significa usar todos los datos para crear la consulta en base a las tablas padre.

este video muestra el problema de forma parcial ya que aqui lo uso en el servidor si fuese en un cliente toda la tabla tendria que viajar por la red para realizar la consulta en una tabla temporal, esto si que crearia una demora considerable a la hora de mostrar los resultados de una consulta.

http://www.youtube.com/watch?v=79iNPw95qpU

Espero que se me entienda mi punto de vista, y entiendas la propuesta de un program que atienda peticiones. por cierto se debe crear una tabla por cliente para evitar errores en los resultados y debes aprovechar el multitarea de windows permitiendo crear multiples intancias del programa response en el servidor.

Saludos, desde Mexico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Acelerar lectura y carga del Grip

Publicado por Julio Sanchez (2 intervenciones) el 07/03/2010 23:33:21
Muchas gracias amigo lo tomare muy en cuenta, feliz inicio de semana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar