Use table extension

Table extension is a data archiving technique used to preserve instance performance and avert risk associated with querying growing data sets. To do this, table extension separates data sets into multiple tables based on date.

Before you begin

Role required: adminThis example outlines how to use table extension.

About this task

Note: Deployment of this plugin should be executed in partnership with a ServiceNow representative.

The administrator of the process is given the ability to specify time parameter (duration) of the process. Although the administrator can also specify the number of tables (rotations), this is not the best practice. After the last table in a rotation is written, new tables are added and old tables are archived. Using table extension, tables are never overwritten.

An advantage of table extension is to partition data across tables. It also allows you to archive data while ensuring that tables stay reasonably-sized. The working set of data is reduced when a date is known for the query.

The disadvantage is that table extension equires a union query when you query for a time range that spans multiple tables. Union queries are less efficient than queries against a single table.

A good practice is to use table extension when you have sequentially-written tables or insert-only type tables (there are exceptions to this parameter). Table extension is also useful in tables where data is needed for long periods of time.

The following example describes how to set table extension for the [sys_audit] table.


  1. Navigate to System Definition > Table Rotations.
  2. Click New.
  3. Enter the following information.
    Field Action
    Name Enter the name of the table to apply the action. In this example, the table is [sys_audit].
    Duration Enter the overall duration for the action. 30 days is the duration in this example.
    Type Select Extension.
  4. Click Submit.
    New table extension