Since tableBASE operates in-memory, it offers table organization options optimized for in-memory use. Tables can be organized in any of four ways:
Sequential tables are ordered by ascending or descending sequential keys.
Hash tables are sequenced using a hashing algorithm that determines the location of a row of data in the table. Rows are stored according to a randomized function of the key. This randomizing routine ensures that rows are spread uniformly throughout the table and not heavily clustered in any particular area. Note that the table itself is compact; it is the index that has the uniform distribution.
Hash tables must be searched using a Hash search.
There is no particular sequence to the table. New rows are inserted at the end of the table. In releases prior to Version 6, deletions caused the last row to be moved into the empty space. Starting with Version 6, there is no such movement into the empty space, and we simply assume that the entries are in random order.
A Serial search is the only practical search method for this organization.
Rows are stored in a random-like table where the sequence is controlled by the application program. The location of insertion of a new row is controlled by the COUNT field. If inserting a row using a key, the insertion is at the end of the table.
Like a random table, the sequence of rows for a User-controlled table is not predictable from data field values, and a Serial search is the only practical search method for this organization.