27.10.2020 Views

Manual de Recomendaciones - Desarrolladores Cobol DB2-CICS en Altamira

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

sentencia.

No se recomienda el uso de la DCLGEN a nivel 01.

En sentencias SQL está prohibido el uso de la DCLGEN a nivel 01, las columnas deben ser siempre

referenciadas una a una. La razón es la misma que en el caso de SELECT *.

Evitar el uso de un acceso a una tabla pequeña (nº páginas <= 7) en el que no se informan

los primeros campos de índice.

Siempre que las tablas DB2 tengan índices definidos, las sentencias SQL deben acceder por campos

que estén incluidos en estos índices. Además, se debe informar el mayor número posible de

campos del índice por el que se accede, informando siempre los primeros campos para evitar que

el acceso a DB2 sea costoso.

No se recomienda el uso de funciones sobre columnas en la cláusula WHERE de las

sentencias SQL.

Evitar la utilización de operaciones con columnas de la tabla en las cláusulas WHERE de las

sentencias., como por ejemplo : 1. WHERE COL1 + COL2 = :VAR-HOST 2. WHERE COL1 = COL1 +

:VAR-HOST 3. WHERE COL1 = COL2 + :VAR-HOST 4. WHERE SUBSTR(COL1,n,n) = :VAR-HOST 5.

WHERE UPPER(COL1) = :VAR-HOST .

Estos tipos de predicado no son indexables y por tanto si se aplican a campos de índice, estos

serán ignorados por DB2 en el momento de decidir el camino de acceso.

Evitar el uso de SORT DB2 en el acceso a la tabla.

Se debe tratar de evitar la realización de SORT por parte de DB2.

Si existe una necesidad funcional, deben buscarse soluciones de diseño identificando el origen de

la necesidad del SORT con el fin de evitarlo. Posibles soluciones al SORT DB2, dependiendo de cada

caso en particular y de la gravedad del SORT podrían ser :

- Pasos previos de SORT en JCL

- Cambios en el orden de tablas del modelo de datos

- Diseño de índices alternativos.

- Modificación de índices existentes.

- Etc, dependiendo del caso.

Se debe evitar el uso de sentencias SELECT función con baja discriminación en las

condiciones de la cláusula WHERE.

Es muy costoso utilizar sentencias SELECT <FUNCION> con cláusulas WHERE poco restrictivas que

seleccionen un elevado número de filas. Se debe evitar su uso.

Evitar la definición de una tabla en LINKAGE con demasiados elementos o un tamaño total

grande.

Por rendimiento del programa, se recomienda no utilizar en los programas tablas que tengan

definido un número elevado de ocurrencias. No se deben definir tablas que ocupen mucha zona de

memoria.

Título del documento y versión 38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!