BLOG

Cargar lista frente a búsquedas y búsquedas en tercer plano

Por [N4] rcueto.velneo el | 2 Comments

En este artículo explicaré las diferencias y similitudes que existen entre ambos comandos así como las implicaciones que tiene su ejecución en primer y en tercer plano de cara a la optimización de nuestras aplicaciones.


El comando cargar lista contra una búsqueda equivalente son lo mismo. Ambos ejecutan el mismo comando de búsqueda en el servidor (no en tercer plano, ya que no es lo mismo).

Además, si usamos un cargar lista o una búsqueda simple equivalente, no es necesario hacerlo en tercer plano, ya que ambos, al ejecutarse en el servidor, no generan tráfico hasta que se devuelve la lista resultante, por lo que se hace innecesaria una optimización.

Hay que tener en cuenta que una búsqueda o un cargar lista no trae los registros en sí, si no la lista de los registros, así que hasta que no recorremos la lista resultante y leemos los registros, no viajan las fichas realmente.

Esto implica que un recorrer lista tras la búsqueda leyendo los registros, se realizará más rápido en el servidor que en el cliente, ya que el cliente en ese caso debe solicitar al servidor los datos de los registros, si estos todavía no se encuentran en la caché del cliente.

Búsquedas frente búsquedas en tercer plano

Sin embargo, si queremos usar una búsqueda, o varias, con varios componentes que cruzan, añaden o quitan, es mejor hacerlo en un proceso ejecutado en tercer plano, que devuelva la lista resultante. Así, la gestión de las listas, cruzar, quitar o añadir entre los distintos componentes, se realiza en el servidor, sin tráfico de información entre cliente y servidor.

Esto no es necesario si la búsqueda, pese a tener definidos varios componentes, sólo uno se activa. Incluso si son varios, pero la lista resultante sabemos a priori que es pequeña, tampoco es necesario lanzarla en tercer plano.

Debemos tener en cuenta en cualquier caso, que el comando de instrucción disparar objeto con búsqueda no se lanza en tercer plano, la opción de plano sólo es funcional para los procesos.

Por tanto, hemos de usar un proceso que se ejecute en tercer plano con el fin de optimizar realmente el uso de búsquedas con varios componentes o varias búsquedas.

Todo esto es válido no sólo para la búsqueda como objeto si no también como comando de instrucción.

Debemos tener en cuenta que, como lo que devuelven las búsquedas son listas de registros y no las fichas en sí, si ejecutamos un proceso en tercer plano que hace una búsqueda y retornamos la lista al cliente, el servidor tendrá que enviar todos los registros encontrados al cliente por lo que, en búsquedas que devuelvan un elevado número de registros, lo que más tiempo llevará no será la búsqueda en sí, sino enviar los registros encontrados al cliente.

Velneo es el entorno ágil para el desarrollo
de aplicaciones empresariales

PRUEBA VELNEO

2 Responses to "Cargar lista frente a búsquedas y búsquedas en tercer plano"
  1. [N2] Comercial.arhes2000 dice:

    Hola,

    Debemos tener en cuenta que, como lo que devuelven las búsquedas son listas de registros y no las fichas en sí, si ejecutamos un proceso en tercer plano que hace una búsqueda y retornamos la lista al cliente, el servidor tendrá que enviar todos los registros encontrados al cliente por lo que, en búsquedas que devuelvan un elevado número de registros, lo que más tiempo llevará no será la búsqueda en sí, sino enviar los registros encontrados al cliente.

    esto me ha liado, cuando dices

    Hay que tener en cuenta que una búsqueda o un cargar lista no trae los registros en sí, si no la lista de los registros,

    creo que la explicación debería ser mas técnica, exactamente ¿que se devuelve?, una lista con el campo ID, una lista con… por ejemplo tengo una tabla con 100 campos, si recorro lista me traigo los 100 campos de todo el registro, si solo hago la búsqueda, que me traigo, Entiendo que entonces es igual que las tablas tengan 10 campos que 300, solo cargarán cuando recorra la lista para usar los registros.

    Gracias y saludos.
    Miguel.

  2. Hola, Miguel.

    Gracias por tu pregunta. Aclarar que lo que devuelve son las posiciones en disco de los registros encontrados.

    Un saludo,

    Rafael C.

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies