Formulario muy muy lento en la nube


([N1] finanplan) #1

Buenas noches

Uso un formulario no asociado a ninguna tabla para entrar seis variables globales numéricas en disco que luego usaré en muchas partes de la aplicación.

Su entrada es desesperadamente lenta . ¿Es normal que sea así?. Casualmente es lo primero que debe entrarse al comenzar a usar la aplicación y la cara de los potenciales clientes al verlo…

Se me ocurre usar variables locales a la hora de rellenar el formulario y cargar las variables globales con un evento al aceptar el formulario, sin embargo me gustaría saber que es lo que les pasa a las variables globales para que se comporten de esta manera en V7 (en v6 no era así).

Saludos.


([N4] velavisual) #2

@finanzas

 

La solución la has propuesto tú mismo, démonos cuenta que al ser variables globlales y en disco, supongo que estarán todo el tiempo consultando/actualizando/modificando dichas variables en el vServer.

Este tipo de problemas siempre he existido y se recomienda usarlas lo menos posible de la forma que lo intentas usar.

Realiza la solución que propones y actualizas las variables en disco (vServer) mediante un manejador.

Repasemos el siguiente artículo sobre el ámbito de las variables

http://velneo.es/ambito-de-las-variables/

 


([N1] Pepeto) #3

Hay pocos escenarios donde se me ocurre utilizar Variables Globales en Disco, quizá ninguno. De echo, aún no las he usado en ningún proyecto.

Variables Globales en Memoria, SI, algunas, sobre todo al principio, ya sabeis, los vicios de V6. Pero he tratado siempre de evitarlas y reducirlas a un mínimo de 3 o 4, lo típico, Empresa activa, ejercicio, usuario y poco más.

Si de verdad necesitas información global en disco para consultar con frecuencia, creo que la solución lógica NO son las variables globales. Quizá deberías pensar en una “Tabla” de configuración.

un saludo

José Luis


([N1] tcvsi) #4

Tal y como comenta Pepeto, yo utilizaría una tabla de configuración en la que creas los campos que necesites (equivalentes a tus variables globales).

Al principio de la aplicación creas un registro clave 1 en esta tabla y siempre podras acceder a ese registro porque la clave es 1.

También lo puedes utilizar en un enlace puntero indirecto en cualquier tabla y tendrás acceso directo a los campos de esta tabla desde cualquier registro.

Rápido, sencillo y versátil.


([N1] finanplan) #5

Gracias por vuestros consejos, lo voy a estudiar con atención.

Tomás, lo de meterlo en una tabla de configuración y acceder por puntero indirecto cuando haga falta ya lo había pensado. Lo descarté ya que según opinión de expertos los punteros indirectos también relentizan las aplicaciones en la nube.

Saludos


([N1] tcvsi) #6

Corregidme si me equivoco.

Los punteros indirectos ralentizan en la nube solamente si se hace uso de ellos en objetos visuales tipo rejillas. Pero si se utilizan únicamente en procesos y además en 3er plano no se ve afectado el rendimiento.

Al menos eso es lo que tengo entendido.


([N1] Pepeto) #7

Aqui que tener en cuenta que hay 2 tipos de punteros Indirectos:

  • Real, se guarda en disco y solo se recalcula si cambia alguno de los componentes.

  • Virtual, no se guarda en disco y se recalcula dinamicamente en ejecución, por tanto puede ralentizar algo mas la aplicación.

Aqui hay mas informacion de los punteros:

http://velneo.es/nuevas-posibilidades-con-los-punteros/

Y aqui un tutor:

http://velneo.es/velneo-open-app/tutor-de-punteros-indirectos/

un saludo

José Luis