Informix Error -2970
-2970 The column name joins with other columns, but it is not indexed.
It is recommended that columns be indexed for cross-table queries. Performance will be much improved by creating an index.The presence of an index on at least one of the columns that are involved in a join can make join operation much faster. However, an index is not required when one or both tables are small (dozens of rows). Consider creating an index on all join columns before you put the form into production.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-2970 is a compiler warning about a performance risk, not a hard error — per the official guidance, an index on at least one join column makes the join operation much faster, though an index isn't required when one or both tables are small (dozens of rows).
- A join column with no index defined on it, per the official guidance — the direct cause.
Solutions / Resolution
- Consider creating an index on all join columns before putting the form into production, per the official guidance, unless the joined tables are small.
Examples
Adding an index to a join column
CREATE INDEX idx_orders_cust_id ON orders (cust_id);
Diagnostic Checks
- Check whether the joining columns have indexes, and create them unless the joined tables are small (dozens of rows at most).
Related Errors / Related Topics
- -2920 — "The column column is a dominant column but it is not indexed." A closely related performance warning, specifically about a dominant verify-join column lacking an index rather than a general join column.
A join column has no index — this is a performance warning, not a hard error; create one unless the joined tables are small.