Although the most efficient data model is a single flat file, this is rarely possible, and we need to have linked tables. This means that we will have at least one linking field. In most cases, this field is not presented to the user as it is likely to be code or a combination of fields.
In this case, we can take advantage of the
Autonumber() function. Rather than storing the contents of the field in memory, it stores the internal pointer to this particular occurrence of the field content. We have also noticed that sometimes the pointer is only stored in the record header and not as a separate field, therefore saving a lot of space; however, this is not always the case.
This is especially useful if you have to create a key field (by combining individual fields) to avoid synthetic keys, as these can be extremely large and, by their use, completely unique.
Unfortunately there is a downside; in this case, it comes with a performance hit. We are back to our old friend, the Time/Space...