Deleting external directives

When you no longer need an external directive, the DBA or user informix can use the DELETE statement of SQL to remove it from the sysdirectives system catalog table.

When external directives are enabled and the sysdirectives system catalog table is not empty,
  • the database server compares every query with the query text of every ACTIVE external directive,
  • and for queries executed by the DBA (or by user informix) with every TEST ONLY external directive.

The purpose of external directives is to improve the performance of queries that match the query string, but the use of such directives can potentially slow other queries, if the query execution optimizer must compare the query strings of a large number of active external directives with the text of every SELECT statement. For this reason, HCL recommends that the DBA not allow the sysdirectives table to accumulate more than a few ACTIVE rows. (An alternative way to avoid unintended performance impact on other queries is to disable support for external directives by setting the EXT_DIRECTIVES configuration parameter to 0. Setting the IFX_EXTDIRECTIVES client environment variable to 0 has the same effect.)