Tablespace

From Wikipedia, the free encyclopedia

A 'tablespace' is a storage location where the actual data underlying database objects can be kept. It is the physical portion of the database used to allocate storage for all DBMS managed segments. A database segment is a database object which occupies physical space such as table data and indexes. Once created, a tablespace can be referred to by name when creating database segments.

Tablespaces specify only the database storage locations, not the logical database structure, or database schema. For instance, different objects in the same schema may have different underlying tablespaces. Similarly, a tablespace may service segments for more than one schema.

By using tablespaces, an administrator can control the disk layout of an installation. A common use of tablespaces is to optimize performance. For example, a heavily used index can be placed on a fast SCSI disk. On the other hand, a database table which contains archived data that is rarely accessed could be stored on a less expensive but slower IDE disk.

While it is common for tablespaces to store their data in a filesystem file, some DBMS allow tablespaces to be configured directly over operating system device entries, called raw devices, providing better performance by avoiding the OS filesystem overheads.

Oracle stores data logically in tablespaces and physically in datafiles associated with the corresponding tablespace.

[edit] See also

  • Tablespace fragmentation