The classic index for a relational database is itself a file made up of rows having these parts:
- A (possibly unique) data field in the referenced table.
- A pointer to the location of that row in the base table (if the index is unique) or a pointer to all possible locations of rows with that data field value (if the index is nonunique).
Because Teradata Database is a massively parallel architecture, it requires a more efficient means of distributing and retrieving its data. One such method is hashing. All Teradata Database indexes are based on row hash values rather than raw table column values, even though secondary, hash, and join indexes can be stored in order of their values to make them more useful for satisfying range conditions.