Skip to main content
Question

Automatic index generation does not work when lookup operator is set to none

  • February 24, 2026
  • 3 replies
  • 98 views

Forum|alt.badge.img+2

When adding a conditional lookup in table A from table B an index is created in table B.

This is expected behaviour when the Index generation setting is set to “Automatic”.

However, if the lookup operator is set to “None”, no index is created in table B, eventhough index generation is set to automatic.

Additionally, if a lookup is at first created with operator “Max” (or any other) an index is created, but if the operator is later changed to “None” the index is automatically removed. 

This seems like a bug. Is anyone else able to replicate this?

I have tested this on version 7026.1

3 replies

Forum|alt.badge.img+2
  • Author
  • Contributor
  • February 25, 2026

I was able to replicate the issue on version 20.10.66 as well.


Forum|alt.badge.img+2

Screen recording of the issue


Forum|alt.badge.img
  • Participant
  • August 17, 2026

Hi ​@pontus.berglund,

 

Asked a very similar question to TX Support in a ticket just now and received the following answer:

------------------------------------------------------
How automatic index generation works :
When the Prepare instance Index Generation is set to Automatic and a table is set to Follow Instance Setting, TDI will automatically create an index on the source table's join key when a lookup is added , but only for certain lookup operators.
 
Indexes are created automatically when the lookup operator is set to:

  • Maximum, Minimum, Sum, Count, or Top

 
Why None does not create an index : 
When the lookup operator is set to None, TDI generates a straight equality join with no subquery or aggregation. In this case, TDI does not auto-create an index  this is intentional product behavior. None is designed for use only when there is guaranteed 1-to-1 cardinality between the two tables (i.e. the join key is unique in the source table). In that scenario, the performance characteristics are different from the aggregation operators.
 
This was confirmed internally — the behavior was reviewed by our product team and determined to be by design.
 
So to summarize: automatic index generation is working correctly in your environment. The only scenario where an index is not created is the None operator, and that is the expected behavior.
 
If the None operator case is causing a performance concern for you, the straightforward fix is to switch those lookups to Maximum — which will create the index and produce a deterministic result even if the join key is not strictly unique. Alternatively, if you are confident the join is 1-to-1, you can create a manual index on the join key field.
------------------------------------------------------