Segments and System Tables

Three system tables store information about segments: master..sysusages and two system tables in the user database, sysindexes and syssegments.

sp_helpsegment uses these tables and finds the database device name in sysdevices.

When you allocate a device to a database with create database or alter database, SAP ASE adds a row to master..sysusages. The segmap column in sysusages provides bitmaps to the segments in the database for each device.

create database also creates the syssegments table in the user database with these default entries:
segment name            status
------- --------------- ------
      0 system              0
      1 default             1
      2 logsegment          0
Executing sp_addsegment:

When you create a table or an index partition, SAP ASE adds a new row to sysindexes. The segment column in that table stores the segment number, showing where the server allocates new space for the object. If you do not specify a segment name when you create the object, it is placed on the default segment; otherwise, it is placed on the specified segment.

If you create a table containing text or image columns, a second row is also added to sysindexes for the linked list of text pages; by default, the chain of text pages is stored on the same segment as the table. An example using sp_placeobject to put the text chain on its own segment is included in the section below.

The name from syssegments is used in create table and create index statements. The status column indicates which segment is the default segment.