DB2 – система управления реляционными базами данных. Заданное число упорядоченных столбцов и неупорядоченные строки, страница 5

При создании табличного пространства можно задать базу данных, для которой оно создается, а также используемую им группу памяти.  Если эта информация опускается, DB2 назначает табличное пространство к базе данных по умолчанию (DSNDB04) и использует группу памяти по умолчанию (SYSDEFLT).

Табличное пространство может быть одного из следующих типов:

·  Разделенное (partitioned)

·  Сегментированное (segmented)

·  Простое (simple).


Простое и сегментированное табличное пространство

Когда в одном табличном пространстве сохраняются данные нескольких таблиц, можно выбрать один из двух типов табличного пространства:

-  Простое табличное пространство, где каждая страница пространства содержит вперемежку строки разных таблиц.

-  Сегментированное табличное пространство, где строки каждой из таблиц хранятся на раздельных страницах. SEGSIZE указывает количество страниц в сегменте. Предельный размер сегмента – 64 страницы.


Разделенное табличное пространство

Разделенное табличное пространство содержит одну таблицу.

Доступное пространство делится на отдельные единицы памяти, называемые разделами, каждый из которых содержит часть одной таблицы. Максимально возможное количество разделов – 254. Каждому разделу соответствует отдельный набор данных VSAM.

В зависимости от числа разделов в табличном пространстве, раздел может быть длиной  1, 2 или 4 GB. Если только один раздел определен для табличного пространства, его максимальный размер -- 4 GB.

Число разделов

Максимальный размер раздела (набор данных VSAM)

Обычное табличное пространство

Большое табличное пространство

1 – 16

4 GB

4 GB

17 – 32

2 GB

4 GB

33 – 64

1 GB

4 GB

65 – 254

4 GB

Каждый раздел может быть назначен отдельной группе памяти.

Набор данных для разделенного табличного пространства создается с помощью оператора CREATE TABLESPACE  с параметром NUMPARTS. Если задан параметр LARGE, создается большое табличное пространство.

С каждым  разделом связано наивысшее значение ключа, которое определяется во время создания кластеризующего индекса (clustering index).

Преимущества от использования разделенных табличных пространств:

·  На одном из разделов может выполняться утилита, остальные разделы доступны для SQL-обработки.

·  Улучшается время ответа для запросов, использующих табличное и индексное сканирование, т.к. DB2 сканирует только отдельные разделы таблицы и индекса.

·  Увеличивается производительность утилит DB2. Одна утилита может работать одновременно со всеми разделами. Разные утилиты могут работать одновременно с разными разделами.


Табличное пространство – информация в каталоге


DDL: CREATE TABLESPACE

CREATE TABLESPACE PERSTSP1

…………………………..

IN PERSDB

USING STOGROUP GROUP90

PRIQTY 100 SECQTY 20

ERASE NO

LOCKSIZE ANY

BUFFERSPOOL BP0

CLOSE YES

FREEPAGE 0

PCTFREE 5

SEGSIZE 32

NUMPARTS 64

COMPRESS NO

LOCKMAX SYSTEM

MAXROWS 255

LOCKPART NO

Если группа памяти не используется, указывайте:

USING VCAT DB2CAT1

·  Если группы памяти не используются, набор данных VSAM должен быть создан перед CREATE TABLESPACE.

·  Некоторые параметры оператора CREATE TABLESPACE

-  PRIQTY – первичное распределение места для наборов данных DB2.  Величина распределения задается в Кбайтах. Максимальное значение – 4194304.

-  SECQTY – вторичное распределение для наборов данных DB2. Минимальная величина распределения 0, что указывает на отсутствие  вторичного распределения. Максимальная величина вторичного распределения – 131068 Кбайт.

-  ERASE – указывает, должна ли DB2 удалять наборы данных, если удаляется (drop) табличное пространство.