Deferred Table Creation

create table...with deferred_allocation allows you defer the page allocation for a table.

The with deferred_allocation parameter for the create table command lets you defer page allocation for a table. Deferred tables help applications that create numerous tables, but use only a small number of them. Tables are called “deferred” until Adaptive Server allocates their pages.

System tables include entries for deferred tables. These entries allow you to create objects associated with deferred tables such as views, procedures, triggers, and so on..

Adaptive Server performs page allocation for deferred tables when it inserts the first row (called table materialization). Access to the table before the first insert, such as selects, deletes or updates, functions that report space usage, or enforce referential integrity constraints during DML on other tables, behave as if the table is empty. That is, a select against a deferred table produces an empty result set. Although you can create indexes on deferred tables, the page allocation for these indexes is deferred until Adaptive Server materializes the table.