Progress
Database Design
Guide


Indexes and ROWIDs

An index is a list of index values and row IDs (ROWIDs). ROWIDs are physical pointers to the database tables that give you the fastest access to rows. ROWIDs do not change during the life of a row—they only change when you dump and reload a database. Also, if you delete a row and create a new identical row, it may have a different ROWID.

A database consists of database blocks. Each block can contain 1024, 2048, 4096, or 8192 bytes of data. Blocks are used to store database rows and indexes. Multiple index entries are stored in a database block. The database blocks of an index are organized into a tree structure for fast access. Progress locates rows within an index by traversing the index tree. Once a row is located, the ROWID accesses the data. Progress does not lock the whole index tree while it looks for the row. It only locks the block that contains the row. Therefore, other users can simultaneously access rows in the same database.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095