Recuperación en clave desde archivos HOLD

Cómo:

La recuperación en clave se maneja con cualquier origen de datos SUFFIX=FIX de segmento único o archivo HOLD que se clasifique a partir de la clave. La recuperación en clave puede reducir los IOs en que se incurra al leer los archivos de extracción mediante la utilización del parámetro SEGTYPE en el archivo máster para identificar cuáles campos forman la clave lógica para archivos secuenciales. Cuando FIXRETRIEVE está:

El comando ON TABLE HOLD le permite leer uno de las muchas orígenes de datos que se pueden manejar, así como crear archivos de extracción. Puede entonces unir estos archivos secuenciales de formato fijo a otras orígenes de datos para restringir la cantidad de datos a la vista. El concepto de una clave lógica en un campo de formato fijo permite realizar búsquedas en clave calificadas para todos los registros que coincidan con las pruebas IF/WHERE para los primeros n campos KEY identificados por el atributo SEGTYPE. La recuperación se detiene cuando la prueba de revisión detecta valores mayores que los especificados en la prueba IF/WHERE.

Cuando se crea un archivo máster para el archivo de extracción, se añade un SEGTYPE de Sn o SHn, a partir de los campos BY en la solicitud. Por ejemplo, PRINT campo BY campo crea un archivo HOLD máster con SEGTYPE=S1. Si usa BY HIGHEST campo crea un máster con SEGTYPE=SH1.


Principio de página

x
Sintaxis: Cómo Controlar la recuperación en clave desde archivos HOLD
SET FIXRET[RIEVE] = {ON|OFF}

donde:

ON
Activa la recuperación con clave. ON es la posición predeterminada.
OFF
Desactiva la recuperación con clave.


Ejemplo: Archivo máster para recuperación en clave desde archivos HOLD

El siguiente archivo máster describe un archivo secuencial de formato fijo con valores clasificados de SEQ_NO, en orden ascendente desde 1 hasta 100,000.

FILE=SORTED,SUFFIX=FIX,$
SEGNAME=ONE,SEGTYPE=S1,$
 FIELD=MYKEY,MK,I8,I8,$
 FIELD=MFIELD,MF,A10,A10,$
 
TABLE FILE SORTED 
 PRINT MFIELD
 WHERE MYKEY EQ 100
END

En este caso, con FIXRETRIEVE=ON, la recuperación se detiene cuando MYKEY alcanza 101, reduciendo ampliamente el número potencial de IOs, toda vez que sólo se leen 101 registros de un total posible de 100,000.



Ejemplo: Criterios de selección para recuperación en clave desde un archivo de extracción

Los criterios de selección que incluyen listas de valores de igualdad usan recuperación en clave. Por ejemplo,

{IF|WHERE} MYKEY EQ x OR y OR z

las pruebas IF y WHERE pueden también incluir pruebas de alcance. Por ejemplo,

{IF|WHERE} MYKEY IS-FROM x TO y

El número máximo de campos de clasificación verticales (BY) sigue siendo 32.

Cuando use esta característica, recuerde que al añadir registros no clasificados a un archivo HOLD clasificado, los registros que se encuentren fuera de la secuencia no serán recuperados. Suponga, por ejemplo, que un archivo clasificado contiene los siguientes tres registros:

Key
1 1200
2 2340
3 4875

y que introduce el siguiente registro al final del archivo:

1 1620

Con FIXRETRIEVE=ON se omite el nuevo registro con un valor clave de 1, toda vez que la recuperación se detiene tan pronto como se encuentra un valor clave de 2.


WebFOCUS