FoxPro/Visual FoxPro - Lentitud con aplicacion cliente/servidor

 
Vista:

Lentitud con aplicacion cliente/servidor

Publicado por foxcat (24 intervenciones) el 12/04/2003 17:42:57
Saludos a todos.

Dispongo de una aplicacion que sin ser cliente/servidor, tiene esa estructura, tengo las BD en un servidor y cada cliente con el ejecutable en su terminal. La conexion de datos es mediante ODBC y para el manejo de datos utilizo vistas remotas para edicion y creación de registros y SQL para las consultas. El problema esta en que al cargar un formulario (por ejemplo el de clientes) va muy lento, tanto al cargar como al insertar un nuevo registro, y eso que no hay un gran volumen de registros, aprox 5000. He realizado multiples pruebas y lo unico que ha conseguido agilizar hasta ahora es trabajar directamente sobre la tabla sin usar vistas, aunque creo que tiene que haber algo mejor, ya que el uso de vistas me asegura mucho que los usuarios no puedan hacer destrozos en la base de datos.

Agradeceria si alguien se encontro con algun problema similar me pueda orientar de como corregirlo.
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:Lentitud con aplicacion cliente/servidor

Publicado por Hugo R. (107 intervenciones) el 13/04/2003 06:48:12
Hola Robin..!! nosotro pasamos por lo mismo con una lentitud enorme aun No teniendo demasiada carga en la base de datos, nuestra solucion y logica fue muy sencilla..!! 1.- Al cliente le vas a dar lo que pida 2.- Al insertar un nuevo registro solo haras el Insert Into , y esta fue la solucion..!! Razonamiento del paso 1 , porque tienes que caragar toda la tabla si el usuario no esta solicitando todo, posiblemente quiera un cambio a un registro..!! filtra y llama solamente a ese registro..! y listo..! y al insertar en el paso 2 si el codigo o clave no existe sera una alta ..!! y haras el procedmiento de Insertar..!! Asi..!! solucionamos la lentitud..!! si quieres mas detalle te podre mandar un ejemplo..!! tu dices..!! chao..!!
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:Lentitud con aplicacion cliente/servidor

Publicado por foxcat (24 intervenciones) el 13/04/2003 21:10:54
Gracias hugo por tu respuesta. Esa valoracion ya la tuve en cuenta, el problema esta en que el usuario tiene opcion de hacer busquedas para encontrar un cliente, quizas se vera mas claro con el caso de los presupuestos. Te llama un cliente para hacer una consulta de un presupuesto, no sabes el numero de presupuesto y lo tienes que localizar, para poder dar esa opcion hay una busqueda de presupuestos por numero, cliente, etc... la cuestion esta en que hay que cargar la tabla para que el usuario vea todos los registros y seleccionar el que le interesa.
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:Lentitud con aplicacion cliente/servidor

Publicado por Roman suazo (2723 intervenciones) el 13/04/2003 23:49:46
Ya que apps desarrolladas en FOX NO son cliente-servidor debes procurar pasar la menor cantidad posible de info en la red. Si estas
usando VFP, la cantidad de info que se pasa entre terminales se puede reducir muchisimo con vistas remotas (consultas actualizables). En la
ayuda hay capitulos de como usarlas y de co mo desarrollar apps que
se usan a traves de una red. Un sistema que debe desplegar todos los
registros para que el usuario busque el registro que se necesita no es
un sistema optimizado, es decir, que chiste tiene que el usuario termine buscando el registro, que pasaria si son demasidos los registros?
Por eso siempre se debe procurar obtener ya sea un grupo de registros
que se parezca a lo que buscas ya sea a traves de una consulta o una vista. Ademas siempre procura evitar campos que no sea necesario mostrar.Otro tip seria regenerar los indices y no tener indices que sean
redundantes.

Saludos
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:Lentitud con aplicacion cliente/servidor

Publicado por carlos lott (298 intervenciones) el 14/04/2003 20:31:05
El problema se me presento de igual forma, lo que hize fue que en el entorno de datos agregue las vistas a trabajar y en la, propiedades de la vista hay una instrucción que te indica si se abre con data o no lo que pasa es que no me acuerdo cual es el nombre, disculpa esa, o si usas la instrucción USE puedes colocarles lo siguiente use mivista norequery

Con esto aumnete el rendimiento al abrir los formularios, tengo una tabla con mas de 1000000 de registro y lo que duras es segundos
en abrir.
Te recuerdo que simpre se demora, eso dependiendo el trafico de la red y otros factores, la topologia y la velocidad de transmisión de datos

Espero que sea de tu ayuda

Me avisas

Saludos

Carlos Lott
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