The architecture for default TB API indexes consists of two structures: . Balanced binary tree containing index values; this is the .ttt file; . An ordered list of 32 bit integers containing the value record numbers; this is the .lll file; The list actually consists of two parts: . The monolithic list of record numbers, known as the thread; . An incremental list, known as the update strand, that contains record numbers of real time inserts, deletes and updates; When an insert, delete or update occurs, the relevant record number(s) are placed into the update strand. When the update strand becomes full, it is merged with the main thread in an operation known as a "spool". The spool operation reads and writes the entire tree (.ttt file) and list (.lll file). In cases where one or both of these files is very large, this can be a very time consuming operation.