Duda sobre la eficiencia entre usar "cargar lista" o emplear una búsqueda.


(ame) #1

Buenos días,

 

Me ha surgido una duda a medida que ido necesitando una serie de procesos en la que me he dado cuenta que repito mucho la siguiente instrucción: Cargar lista.

 

Todos sabemos que este comando nos permite resolver por varios parámetros, en mi caso, en estos procesos, siempre la estoy usando para resolver por el campo ID, lo cual al final obtengo una lista de un sólo elemento, es decir, una ficha.

[attachment=9291,917]

Este es el trozo de código que se me repite mucho en los procesos (bueno, lo único que cambiaría sería la última instrucción, las 3 primeras son las que realmente se repiten). La duda que me ha surgido es si no sería mejor cambiar este método por el de usar una búsqueda con un componente ID, parte izquierda de la clave y que lo resuelva por una variable global (en la aplicación de datos) que contenga el ID en cuestión. Al final la búsqueda haría lo mismo, devolver una lista de un sólo elemento, es decir, la ficha que necesito.

[attachment=9291,915] [attachment=9291,916]

¿Cómo lo véis? ¿Sería mejor utilizar el objeto búsqueda, que a priori conceptualmente está diseñado para ese cometido, el de realizar consultas a la base de datos?

 

Un saludo.

 

José Luis.


([N4] eic) #2

Hola.

Que yo sepa, entre utilizar un Cargar lista y una Búsqueda, por el mismo índice y en el mismo plano de ejecución, no hay diferencia.

Saludos,

Fran Varona

 


([N1] Pepeto) #3

En V6 habia una ligera diferencia entre usar CARGAR LISTA y la BUSQUEDA por el mismo indice, la Busqueda generaba transaccion, mientras que Cargar Lista no lo hacia, por lo que en ciertos casos era mas recomendable utilizar una opcion u otra.

Pero en esta versión, queda la duda, a no ser que Velneo lo confirme.

un saludo.

Jose

 


(ame) #4

Gracias a los dos. Mi duda estaba en que, no sé por qué, y esto es total intuición ya que desconozco los detalles internos de programación/implementación de la plataforma; me daba a mí que "cargar lista" hacía como una especie de barrido secuencial de toda la base de datos y luego le aplicaba el filtro de resolución lo cual es muy ineficiente, y que la búsqueda estaba más optimizada para este caso, que directamente la consulta que hacía a la base de datos ya estaba aplicando los criterios de selección, por lo cual no tenía que cargar toda la tabla para luego aplicar el filtro.

Como bien decís, estos aspectos se nos va un poco de nuestro conocimiento, estaría bien que alguien de Velneo, con los conocimientos de los detalles de programación de la herramienta, nos resolviera este tipo de dudas, ya que pienso, en mi opinión, que el tema de la eficiencia es un tema muy importante al que no se le debería relegar a un 2º plano. Tan fundamental es que sepamos hacer "esto" o "lo otro" en Velneo, como hacerlo de manera rápida y eficiente, minimizando al máximo el uso de los recursos del sistema: espacio y tiempo. Espacio por el volúmen de información que tiene que viajar entre cliente y servidor, y tiempo por el uso de la CPU.

 

Espero que os haya gustado esta reflexión.

 

Un saludo.

 

José Luis.





([N1] Pepeto) #5

Hay os dejo el post que escribi en su dia, y en el que me referia precisamente a esta situacion:

Elegir diferentes caminos para llegar al mismo sitio, y saber en que situaciones merece la pena elegir un sistema u otro:

http://velneo.es/foros/topic/guia-para-la-optimizacion-de-aplicaciones

un saludo

Jose