表スペースの作成

多くの場合、表を作成する前に表スペースを作成する必要はありません。 宣言済み一時表を定義するとき、またはすべての独自データ・セットを管理する場合に限り、明示的に表スペースを作成する必要があります。

ユニバーサル表スペースの利点

ユニバーサル (UTS) 表スペース は、データ・パーティションとセグメント化された組織のメリットを結合します。 各 UTS には、常に単一のテーブルのみが含まれます。

非推奨の非UTS型と比較した場合、ユニバーサルテーブルスペースには以下の利点があります

  • パーティショニング方式の選択:
  • セグメント化されたスペース・マップ・ページに、パーティション化されたスペース・マップ・ページよりも多くのフリー・スペースに関する情報があるため、可変長行のスペース管理が改善されました。
  • セグメント化表スペース編成での一括削除は、非セグメント化表スペース編成での一括削除よりも高速になる傾向があるため、一括削除のパフォーマンスが向上します。
  • セグメントにローカライズされた表スキャン。
  • 表のドロップまたは一括削除後に、表のセグメントのすべてまたは大部分が即時に再利用されます。

表スペース・タイプの比較

以下の表は、Db2 for z/OS® がサポートする各種の表スペース・タイプの特性を比較したものです。

表 1. のテーブル・スペース・タイプの比較 Db2 for z/OS
タイプ セグメント化 パーティション化 注釈
パーティション・バイ・レンジ・テーブル・スペース(PBR UTS) はい はい (データ値の範囲に基づく) 絶対ページ番号または相対ページ番号(RPN)を使用できます。

以下の属性キーワードはPBRテーブル空間を区別する:

  • SEGSIZE (非ゼロ)
  • NUMPARTS
  • PAGENUM RELATIVE (RPN)
パーティション・バイ・グロース・テーブルスペース(PBG UTS) はい はい (データの増加に基づく)

以下の属性キーワードはPBGテーブル空間を区別する:

  • SEGSIZE (非ゼロ)
  • MAXPARTITIONS
LOB 表スペース いいえ いいえ LOB 列のデータを含む補助表の場合。
XML 表スペース はい はい (基本表のパーティション方式に基づく) XML データ用に暗黙的に作成される UTS 表スペース。
パーティション化 (非 UTS) 表スペース いいえ はい このタイプは非推奨です。 1
セグメント化 (非 UTS) 表スペース はい いいえ このタイプは非推奨です。 1
SIMPLE 表スペース いいえ いいえ このタイプは非推奨です。2
注:
  1. ベーステーブル用の非UTSテーブルスペースは非推奨です。 アプリケーション互換性レベル以上で実行されるCREATE TABLESPACE文は、 V12R1M504、常にパーティショニング・バイ・グロースまたはパーティショニング・バイ・レンジのテーブルスペースを作成します。また、非UTSテーブルスペース(既存のマルチテーブル・セグメント化テーブルスペースを含む)を指定したCREATE TABLE文はエラーを返します。 ただし、必要であれば、復旧時など、より低いアプリケーション互換性レベルを使用して、非推奨のタイプのテーブルスペースを作成することができます。 手順については、「UTS以外のテーブルスペースの作成(非推奨 )」を参照してください。
  2. Db2 13 では、単純な表スペースの作成はサポートされていません。 既存の単純な表スペースは引き続きサポートされますが、将来はサポートされなくなる可能性があります。
  3. パーティショニングされた(非UTS)テーブル・スペースは、インデックス制御パーティションまたはテーブル制御パーティションのいずれかを使用できます。 インデックス制御パーティションを使用しているテーブル・スペースは、UTSに変換する前に、テーブル制御パーティションを使用するように変換する必要があります。 詳細は、 テーブル・スペースを変換してテーブル制御パーティショニングを使用するを参照してください。

表スペースの暗黙的な作成

Db2 CREATE TABLE ステートメントを発行する際に既存のテーブルスペース名を指定しない場合、テーブルスペースは暗黙的に作成されます。 Db2 テーブルスペース名をテーブル名から取得します。 テーブルスペースは、指定されたデータベース内に作成されます。データベースが指定されていない場合は、暗黙的に作成されたデータベース内に作成されます。 詳細は、「暗黙的に定義されたテーブルスペース 」を参照してください。

表スペースの明示的な作成

表スペースを明示的に作成する必要がある場合は、CREATE TABLESPACE ステートメントを発行できます。

表スペースを作成または変更する場合、CREATE TABLESPACE または ALTER TABLESPACE ステートメントで指定する文節によって、表スペースのタイプが決まります。 詳細は、「テーブル空間の明示的な作成 」を参照してください。