Using the Index as Select Output

You can use the index[] selectable on business objects and relationships to retrieve the attribute and basic values directly from the index table.

This is roughly N times faster than using attribute[] where N is the number of attributes in the index. For example, if you routinely run a query or select like the following:

 temp query bus Part * * select attribute\[Part_Number\]
 attribute\[Quantity\] attribute\[AsRequired\]
 attribute\[Process_Code\] attribute\[Function_Code\] current dump |
 output d:/partlist.txt;

You could create an index called Parts that contains all of the selectables listed and use the following query instead:

 temp query bus Part * * select index\[Parts\] dump | output d:/
 partlist.txt;

The temp query that uses the select index is roughly six times faster than using the query that selects all six items separately.

Select index is similar to selecting items with a few differences:

  • Select index returns values for all items in the index, where select item returns just one. If an attribute does not apply to a type or relationship, the returns are null.
  • String attributes longer than 251 characters will be truncated to 251 characters. Generally these are defined as multiline attributes, which cannot be included in an index anyway.
  • Descriptions longer than 2040 characters will be truncated to 2040 characters.