Cómo comparar los joins estáticos y dinámicos

Para unir dos orígenes de datos de FOCUS, elija uno de los dos tipos de join (estático o dinámico) y uno de los métodos para definirlo (definido en el archivo máster o definido mediante el comando JOIN).

Entre los joins dinámicos, el comando JOIN resulta más sencillo, ya que evita tener que modificar el archivo máster, cada vez que quiere cambiar la especificación del join, y describir cada segmento enlazado, puesto que aparece desde la perspectiva del origen de datos host. En cambio, los joins dinámicos, definidos en el archivo máster, permiten omitir los segmentos de referencia cruzada innecesarios.

Puede que resulte más eficiente implementar como estáticos los joins más utilizados. Puede cambiar los joins estáticos a dinámicos, y viceversa, mediante el recurso REBUILD.

El siguiente diagrama compara la implementación de un join estático y uno dinámico, definidos en el archivo máster, y un join dinámico definido con el comando JOIN.

Tipo de Join

Ventajas

Inconvenientes

Join estático en el archivo máster

(SEGTYPE = KU or KM)

Más rápido después del primer uso. Los vínculos sólo se crean una vez.

Siempre está en vigor.

Puede seleccionar algunos segmentos enlazados y omitir otros.

Debe especificarse antes de crear o volver a crear el origen de datos, mediante REBUILD.

Requiere el recurso REBUILD para efectuar cambios.

Requiere cuatro bytes de espacio de archivo por instancia.

Los usuarios deben saber cómo se especifican las relaciones de los segmentos enlazados (KL, KLU).

Join dinámico en el archivo máster

(SEGTYPE =DKU or DKM)

Puede especificarse en cualquier momento.

Siempre está en vigor. No utiliza nada de espacio en el origen de datos.

Puede modificarse o eliminarse, según sea necesario, sin usar el recurso REBUILD.

Puede seleccionar algunos segmentos enlazados y omitir otros.

Más lento. Los vínculos se recuperan por cada registro, en cada solicitud de informe.

Los usuarios deben saber cómo se especifican las relaciones de los segmentos enlazados (KL, KLU).

Join dinámico (usando el comando JOIN)

Puede especificarse en cualquier momento.

No utiliza nada de espacio en el origen de datos. Puede modificarse o eliminarse, según sea necesario, sin usar el recurso REBUILD.

El usuario nunca tendrá que describir las relaciones de los segmentos enlazados.

Más lento. Los vínculos se recuperan por cada registro, en cada solicitud de informe.

Debe emitir el comando JOIN en cada sesión en que desee establecer el join.

Siempre se incluyen todos los segmentos en el destino, aunque no los necesite.


WebFOCUS