Adabas Performance Tuning
This topic only applies if you query a table containing a super or sub descriptor with the NU (Null Suppression) attribute or NC (SQL Null capable) attribute defined on one of the descriptor constituent fields.
To improve performance, descriptors that have NU or NC constituent fields could omit or skip records when the NU/NC column is blank. This descriptor behavior makes them unusable from an ANSI SQL perspective, because in SQL, records should always be returned even if a null value exists in a particular field. But not using these descriptors can significantly slow performance.
The following describes situations where NU/NC super descriptors will be used in SQL optimization, and what can be done to force the use of these performance enhancing descriptors.
CONNX does not allow partial key searches if an Adabas super descriptor has a NU (Null Suppressed) or NC (SQL Null capable) constituent field. Super descriptors that contain NU or NC constituent fields will be used only if criteria for every constituent fields is specified in the SQL statement. This applies to L3 calls, Sx calls and usage of super descriptors for ordering (Order by).
There are three ways to use a super descriptor when there are unknown criteria for some constituent fields:
1. Specify column IS NOT NULL on the constituent fields of the super descriptor where the value is unknown.
2. Suffix the escape clause {forceadanukey} to the end of the SQL statement. The SQL Gateway will use the super descriptor even though it may not return the correct "SQL" results.
3. Enable the global configuration setting FORCEADANUKEY in the CONNX Configuration Manager or the SQLRegistry. This will cause the SQL Gateway to use super descriptors regardless of null suppression status for all queries. Once you enable this global setting, use the escape clause {forceadanonukey} to turn off this behavior for specific queries.