dic 20

Soluciones sencillas para optimizar el rendimiento.

Nuestro amigo sat.sbinario plantea el siguiente problema en el foro de V7

Preocupación con el rendimiento con número de registros elevado y optimización

en el que expone lo siguiente:

Hola a todos:

La situación es esta. Tabla con 40 campos (2 de ellos singular de plural por índice), unos 10 índices y 180000 registros.

He notado que el rendimiento de la aplicación cuando se trabaja con esta tabla decae notablemente. Por ejemplo, una rejilla que muestra todos los registros (resultado de una búsqueda), “se ve” en pantalla mientras la carga cómo va refrescando los datos, en especial los resueltos a través de los punteros singular de plural. Además cuando utilizas algún localizador asociado a la tabla, tienes tiempos de espera notables, que incluso provocan la rotura del vClient si no eres suficientemente paciente.

Esto nunca me había pasado en v6, así que lanzo varias preguntas.

¿Se debe a los punteros singular de plural? ¿A los componentes visuales? ¿Qué aspectos intervienen en estos tiempos de espera? ¿Optimización? ¿Alguna experiencia con número de registros elevados?

Un saludo y gracias.

Y despues de varias respuestas en el mismo hilo del foro se llega a la conclusion de que el problema esta en los “Punteros singular de plural”. Y la verdad, considero que es un problema muy puntual, para casos especiales.

Como ya sabeis, yo suelo protestar mucho donde otros no protestan, pero como me gusta llevar la contraria a todos, 😀 , donde los demas se quejan, yo busco soluciones,  asi que analicemos el planteamiento y veremos la solución:

Planteamiento:

  1. La tabla tiene “muchos campos”
  2. La tabla tiene varios “punteros singular de plural por indice”
  3. La tabla tiene 180000 registros, pero podria tener más.

Problema:

Ya hemos identificado que el problema son los “punteros singular de plural por indice”

Solución:

A la vista de estos parametros tenemos varias soluciones posibles:

  1. El problema son los “Punteros” pues una solución sencilla es “Quitar los punteros”, 😀 , creo que es la más fácil, la mas sencilla de implementar y la que mejor soluciona el problema. Ahhhhhhhhh, vale, ¡que no se puede hacer eso!, :( , pues vamos a buscar otra solución.
  2. En el foro se aporta una solución que también es valida, dejar los punteros en la tabla, pero quitarlos de la rejilla. Es una buena solución, pero que pasa si necesito mostrar columnas a través de los punteros y no puedo eliminarlos, esta solución tampoco es valida.
  3. Olvidemos el problema principal, que parecen ser los “Punteros” y centremonos en el resto de parámetros de la ecuación. Haber, para que necesito mostrar 180000 registros, acaso tengo que memorizarlos, :( , ¿necesito verlos todos? si falta uno, o faltan 1000 registros, ¿te vas a dar cuenta?. Pues ahi tienes la solución, prepara un paginador y muestra los registros de 100 en 100 o de 5000 en 5000 y veras como la velocidad aumenta considerablemente. Ademas, antes de mostrar cantidades indecentes de información, deberiamos pensar todos en el ahorro economico (si, economico), porque vamos a utilizar las aplicaciones con moviles, y las compañias van a cobrar por volumenes de transmisión de datos, y de esta forma, además, matamos 2 pajaros de un tiro (ahorramos dinero a nuestros clientes, beneficiandoles a ellos, y reducimos su factura de consumo telefónico, perjudicando al operador de telefonia).

Piensa en verde, porque ahorrar es sano, sobre todo para el bolsillo, … y en estos tiempos que corren, más.

Y ahora me direis algunos, … ¿y como se hace un paginador en V7? … vale, vale, lo preparo y otro dia os lo cuento. 😉

PDF Printer    Enviar artculo en formato PDF   
comments: Closed

5 Responses to “Soluciones sencillas para optimizar el rendimiento.”

  1. agustin dice:

    Muy bueno Jose Luis, como siempre
    Ya te ha llegado el N4? :-)
    Ahorra agua, bebe sidra :-)

  2. Comentario tonto del día.
    El paginador se lo tendría que programar uno? O existe alguna manera automática de añadirlo?

    Un saludo.

  3. admin dice:

    @Giuseppe Luigi

    Como he indicado al final del articulo, el próximo dia os enseñare como hacer un paginador.

    La respuesta a tu pregunta, es si, se lo tiene que programar uno, no hay forma automatica de hacerlo, excepto que tu mismo lo puedas automatizar de alguna forma.

    un saludo
    Jose Luis

  4. admin dice:

    @Jorge Hontoria

    Gracias, ya hace tiempo que vi tu articulo, y esta muy bien.
    Pero cuando escribi este articulo, no me acorde y he realizado el ejemplo por mi mismo, asi que, ya que lo tengo hecho, lo publicare.

    Ademas, asi tienen 2 puntos de vista para llegar al mismo resultado.

    un saludo.
    Jose Luis



Pings responses to this post