SQL および XML の制限値
このトピックの表では、SQL と XML の制限について説明します。 最も制限が厳しい場合に準拠することによって、 容易に移植できるアプリケーション・プログラムを設計することができます。
文字の長さ制限は、データベースのコード・ページとアプリケーションのコード・ページに応じて変わります。 例えば、UTF-8 の 1 文字の幅は 1 バイトから 4 バイトまでの範囲にわたるため、上限が 128 バイトの Unicode 表における ID の文字数制限は、使用される文字に応じて 32 文字から 128 文字までの範囲でなければなりません。 名前の長さが、データベース・コード・ページへの変換後にこの表の限界を超えるような ID を作成しようとした場合には、エラーが戻されます。
ID 名を保管するアプリケーションは、コード・ページ変換が行われた後の増加したサイズの ID に対処できなければなりません。 ID がカタログから検索されるとき、それらはアプリケーション・コード・ページに変換されます。 データベース・コード・ページからアプリケーション・コード・ページに変換されると、結果として ID は、表のバイト限界よりも長くなってしまう可能性があります。 アプリケーションによって宣言されるホスト変数が、コード・ページ変換後に ID 全体を格納できない場合、それは切り捨てられます。 それが受け入れられない場合には、ID 名全体を受け入れられるように、ホスト変数のサイズを大きくすることができます。
同じルールが Db2® ユーティリティがデータを取得し、それをユーザー指定のコード・ページに変換するのと同じ規則が適用されます。 Db2 ユーティリティー (エクスポートなど) がデータを検索し、ユーザー指定のコード・ページへの変換を強制する場合 (エクスポート CODEPAGE 修飾子または DB2CODEPAGE レジストリー変数を使用)、 コード・ページ変換のために ID がこの表に記載されている制限を超えて拡張された場合は、エラーが返されるか、ID が切り捨てられる可能性があります。
| 説明 | バイト単位の最大値 |
|---|---|
| 別名 | 128 |
| 属性名 | 128 |
| AUDIT POLICY NAME | 128 |
| 許可名 (1 バイト文字のみ可) | 128 |
| バッファー・プール名 | 18 |
| 列名2 | 128 |
| 制約名 | 128 |
| 相関名 | 128 |
| カーソル名 | 128 |
| データ・パーティション名 | 128 |
| データ・ソース列名 | 255 |
| データ・ソース索引名 | 128 |
| データ・ソース名 | 128 |
| データ・ソース表名 (リモート表名) | 128 |
| データベース・パーティション・グループ名 | 128 |
| データベース・パーティション名 | 128 |
| イベント・モニター名 | 128 |
| 外部プログラム名 | 128 |
| 関数マッピング名 | 128 |
| グループ名 | 128 |
| ホスト ID1 | 255 |
| データ・ソースのユーザー (リモート許可名) の ID | 128 |
| SQL プロシージャー中の ID (条件名、FOR ループ ID、ラベル、結果セット・ロケーター、ステートメント名、変数名) | 128 |
| 索引名 | 128 |
| 索引拡張名 | 18 |
| 索引仕様名 | 128 |
| ラベル名 | 128 |
| 名前空間の URI (Uniform Resource Identifier) | 1000 |
| ニックネーム | 128 |
| パッケージ名 | 128 |
| パッケージ・バージョン ID | 64 |
| パラメーター名 | 128 |
| データ・ソースにアクセスするパスワード | 32 |
| プロシージャー名 (Procedure name) | 128 |
| 役割名 | 128 |
| セーブポイント名 | 128 |
| スキーマ名2,3 | 128 |
| セキュリティー・ラベル・コンポーネント名 | 128 |
| セキュリティー・ラベル名 | 128 |
| セキュリティー・ポリシー名 | 128 |
| シーケンス名 | 128 |
| サーバー名 (データベース別名) | 8 |
| 特定名 | 128 |
| SQL 条件名 | 128 |
| SQL 変数名 | 128 |
| ステートメント名 | 128 |
| ストレージ・グループ | 128 |
| テーブル名 | 128 |
| 表スペース名 | 18 |
| トランスフォーム・グループ名 | 18 |
| トリガー名 | 128 |
| Trusted Context Name | 128 |
| タイプ・マッピング名 | 18 |
| ユーザー定義関数名 | 128 |
| ユーザー定義メソッド名 | 128 |
| ユーザー定義タイプ名2 | 128 |
| ビュー名 | 128 |
| ラッパー名 | 128 |
| XML エレメント名、属性名、接頭部名 | 1000 |
| XML スキーマ・ロケーションの URI (Uniform Resource Identifier) | 1000 |
注:
|
|
| 説明 | 制限値 |
|---|---|
| SMALLINT (短精度整数) の最小値 | -32,768 |
| SMALLINT (短精度整数) の最大値 | +32,767 |
| INTEGER (整数) の最小値 | -2,147,483,648 |
| INTEGER (整数) の最大値 | +2,147,483,647 |
| BIGINT (64 ビット整数) の最小値 | -9,223,372,036,854,775,808 |
| BIGINT (64 ビット整数) の最大値 | +9,223,372,036,854,775,807 |
| 10 進数の精度の最大値 | 31 |
| REAL 値の最大指数 (Emax) | 38 |
| REAL (実数) の最小値 | -3.402E+38 |
| REAL (実数) の最大値 | +3.402E+38 |
| REAL 値の最小指数 (Emin) | -37 |
| REAL (実数) の正の最大値 | +1.175E-37 |
| REAL (実数) の負の最大値 | -1.175E-37 |
| DOUBLE 値の最大指数 (Emax) | 308 |
| DOUBLE (倍精度) の最小値 | -1.79769E+308 |
| DOUBLE (倍精度) の最大値 | +1.79769E+308 |
| DOUBLE 値の最小指数 (Emin) | -307 |
| DOUBLE (倍精度) の正の最小値 | +2.225E-307 |
| DOUBLE (倍精度) の負の最大値 | -2.225E-307 |
| DECFLOAT(16) 値の最大指数 (Emax) | 384 |
| 最小 DECFLOAT(16) 値1 | -9.999999999999999E+384 |
| 最大 DECFLOAT(16) 値 | 9.999999999999999E+384 |
| DECFLOAT(16) 値の最小指数 (Emin) | -383 |
| 最小の正 DECFLOAT(16) 値 | 1.000000000000000E-383 |
| 最大の負 DECFLOAT(16) 値 | -1.000000000000000E-383 |
| DECFLOAT(34) 値の最大指数 (Emax) | 6144 |
| 最小 DECFLOAT(34) 値1 | -9.999999999999999999999999999999999E+6144 |
| 最大 DECFLOAT(34) 値 | 9.999999999999999999999999999999999E+6144 |
| DECFLOAT(34) 値の最小指数 (Emin) | -6143 |
| 最小の正 DECFLOAT(34) 値 | 1.000000000000000000000000000000000E-6143 |
| 最大の負 DECFLOAT(34) 値 | -1.000000000000000000000000000000000E-6143 |
注:
|
|
| 説明 | 制限値 |
|---|---|
| CHAR の最大長 (バイトまたは OCTETS 単位) | 255 |
| CHAR の最大長 (CODEUNITS32 単位) | 63 |
| VARCHAR の最大長 (バイト数または OCTETS)2 | 32,672 |
| VARCHAR の最大長 (CODEUNITS32 単位)2 | 8168 |
| LONG VARCHAR の最大長 (バイト単位)1 | 32,700 |
| CLOB の最大長 (バイトまたは OCTETS 単位) | 2,147,483,647 |
| CLOB の最大長 (CODEUNITS32 単位) | 536,870,911 |
| シリアライズ XML の最大長 (バイト単位) | 2,147,483,647 |
| GRAPHIC の最大長 (2 バイト文字または CODEUNITS16 単位) | 127 |
| GRAPHIC の最大長 (CODEUNITS32 単位) | 63 |
| VARGRAPHIC の最大長 (2 バイト文字数または CODEUNITS16)2 | 16,336 |
| VARGRAPHIC の最大長 (CODEUNITS32 単位) | 8168 |
| LONG VARGRAPHIC の最大長 (2 バイト文字単位)1 | 16,350 |
| DBCLOB の最大長 (2 バイト文字または CODEUNITS16 単位) | 1,073,741,823 |
| DBCLOB の最大長 (CODEUNITS32 単位) | 536,870,911 |
| BINARY の最大長 (バイト単位) | 255 |
| VARBINARY の最大長 (バイト単位)2 | 32,672 |
| BLOB の最大長 (バイト単位) | 2,147,483,647 |
| 文字定数の最大長 | 32,672 |
| GRAPHIC 定数の最大長 | 16,336 |
| 連結後の文字ストリングの最大長 | 2,147,483,647 |
| 連結後の GRAPHIC ストリングの最大長 | 1,073,741,823 |
| 連結後のバイナリー・ストリングの最大長 | 2,147,483,647 |
| 16 進定数の最大桁数 | 32,672 |
| 実行時の構造化タイプ列オブジェクトの最大インスタンス (ギガバイト単位) | 1 |
| カタログ・コメントの最大サイズ (バイト単位) | 254 |
注:
|
|
| 説明 | 4K ページ・サイズ制限 | 8K ページ・サイズ制限 | 16K ページ・サイズ制限 | 32K ページ・サイズ制限 |
|---|---|---|---|---|
| VARCHAR の最大長 (バイト単位) | 3920 | 8016 | 16,208 | 32,592 |
| VARCHAR の最大長 (CODEUNITS32 単位) | 980 | 2004 | 4052 | 8148 |
| VARGRAPHIC の最大長 (バイト単位) | 1960 | 4008 | 8104 | 16,296 |
| VARBINARY の最大長 (バイト単位) | 3920 | 8016 | 16,208 | 32,592 |
注: カラム・オーガナイズ 表には、ページ当たり 176 バイトのオーバーヘッドがあります。
|
||||
|
| 説明 | 制限値 |
|---|---|
| XML 文書の最大の深さ (レベル数) | 125 |
| XML スキーマ文書の最大サイズ (バイト単位) | 31,457,280 |
| コマンド行プロセッサーによって返される XML 文書の最大長 (文字数) | 4000 |
| 説明 | 制限値 |
|---|---|
| DATE (日付) の最小値 | 0001-01-01 |
| DATE (日付) の最大値 | 9999-12-31 |
| TIME (時刻) の最小値 | 00:00:00 |
| TIME (時刻) の最大値 | 24:00:00 |
| TIMESTAMP (タイム・スタンプ) の最小値 | 0001-01-01-00.00.00.000000000000 |
| TIMESTAMP (タイム・スタンプ) の最大値 | 9999-12-31-24.00.00.000000000000 |
| タイム・スタンプの精度の最小値 | 0 |
| タイム・スタンプの精度の最大値 | 12 |
| カテゴリー | 説明 | 制限値 |
|---|---|---|
| アプリケーション | プリコンパイル済みプログラム内のホスト変数宣言の最大数3 | ストレージ。 この数は今後のバージョンで少なくなる可能性があります。 10000 未満にしておくことを勧めします。 |
| ホスト変数値の最大長 (バイト単位) | 2,147,483,647 | |
| プログラムで宣言できるカーソルの最大数 | ストレージ | |
| 作業単位で変更される行の最大数 | ストレージ | |
| 一度にオープンできるカーソルの最大数 | ストレージ | |
| データベース・クライアント内のプロセス当たりの接続の最大数 | 512 | |
| トランザクション内の同時にオープンできる LOB ロケーターの最大数 | 4,194,304 | |
| SQLDA の最大サイズ (バイト単位) | ストレージ | |
| 準備されるステートメントの最大数 | ストレージ | |
| バッファー・プール | 32 ビット・リリースでのバッファー・プールの最大 NPAGES | 1,048,576 |
| 64 ビット・リリースでのバッファー・プールの最大 NPAGES | 2,147,483,647 | |
| すべてのバッファー・プール・スロットの最大合計サイズ (4K) | 2,147,483,646 | |
| 並行性 | サーバーの同時ユーザーの最大数4 | 64,000 |
| インスタンス当たりの並行ユーザーの最大数 | 64,000 | |
| データベース当たりの並行アプリケーションの最大数 | 60,000 | |
| インスタンス当たりの並行使用可能なデータベースの最大数 | 256 | |
| 制約 | 表に対する制約の最大数 | ストレージ |
| ユニーク (UNIQUE) 制約の列の最大数 (ユニーク索引によってサポートされる) | 64 | |
| ユニーク (UNIQUE) 制約の列の結合後の最大長 (ユニーク索引によってサポートされる) (バイト単位)9 | 8192 | |
| 外部キーで参照される列の最大数 | 64 | |
| 外部キーで参照される列の結合後の最大長 (バイト単位)9 | 8192 | |
| チェック制約の指定の最大長 (バイト単位) | 65,535 | |
| データベース | 最大データベース・パーティション番号 | 999 |
| 最大メンバー数 Db2 pureScale® 環境 | 128 | |
| 索引 | 表の索引の最大数 | 32,767 またはストレージ |
| 索引キーの列の最大数 | 64 | |
| すべてのオーバーヘッドを含む索引キーの最大長6 8 | インデックスページサイズ/4 | |
| 変数の索引キー部分の最大長 (バイト単位)7 | 1022 またはストレージのサイズによる | |
| SMS 表スペース内のデータベース・パーティション当たりの索引の最大サイズ (テラバイト単位)6 | 64 | |
| REGULAR DMS 表スペース内のデータベース・パーティション当たりの索引の最大サイズ (ギガバイト単位)6 | 512 | |
| LARGE DMS 表スペース内のデータベース・パーティション当たりの索引の最大サイズ (テラバイト単位)6 | 64 | |
| XML 上の索引データの可変索引キー部分の最大長 (バイト単位)7 | pagesize/4 から 207 | |
| ログ・レコード | 最大ログ・シーケンス番号 | 0xFFFF FFFF FFFF FFFF |
| モニター | 同時に起動できるイベント・モニターの最大数 | 128 |
| パーティション・データベース環境で、同時にアクティブにできる GLOBAL イベント・モニターの最大数 | 32 | |
| ルーチン | LANGUAGE SQL を指定したプロシージャー中のパラメーターの最大数 | 32,767 |
| PROGRAM TYPE MAIN を指定した外部プロシージャー中のパラメーターの最大数 | 32,767 | |
| PROGRAM TYPE SUB を指定した外部プロシージャー中のパラメーターの最大数 | 90 | |
| カーソルの値コンストラクター内のパラメーターの最大数 | 32,767 | |
| ユーザー定義関数のパラメーターの最大数 | 90 | |
| ルーチンのネスト・レベルの最大数 | 64 | |
| SQL パス内のスキーマの最大数 | 64 | |
| SQL パスの最大長 (バイト単位) | 2048 | |
| セキュリティー | タイプ・セットまたはツリーのセキュリティー・ラベル・コンポーネント内のエレメントの最大数 | 64 |
| タイプ配列のセキュリティー・ラベル・コンポーネント内のエレメントの最大数 | 65,535 | |
| セキュリティー・ポリシー内のセキュリティー・ラベル・コンポーネントの最大数 | 16 | |
| SQL | SQL ステートメントの最大全長 (バイト単位) | 2,097,152 |
| SQL ステートメントまたはビューで参照される表の最大数 | ストレージ | |
| 動的 SQL ステートメント中のホスト変数参照の最大数 | 32,767 | |
| ステートメント中の定数の最大数 | ストレージ | |
| 選択リスト内のエレメントの最大数6 | 2048 |
|
| WHERE または HAVING 節の述部の最大数 | ストレージ | |
| GROUP BY 節中の列の最大数6 | 2048 |
|
| GROUP BY 節中の列の合計長の最大値 (バイト単位)6 | 32,677 | |
| ORDER BY 節中の列の最大数6 | 2048 |
|
| ORDER BY 節中の列の合計長の最大値 (バイト単位)6 | 32,677 | |
| 副照会ネストの最大レベル | ストレージ | |
| 単一のステートメント中の副照会の最大数 | ストレージ | |
| 挿入操作内の値の最大数6 | 2048 |
|
| ストレージ・ グループ | データベース内のストレージ・グループの最大数 | 256 |
| ストレージ・グループ内のストレージ・パスの最大数 | 128 | |
| ストレージ・パスの最大長 (バイト単位) | 175 | |
| 表とビュー | 表の列の最大数6 10 | 2048 |
| ビュー内の列の最大数1 | 5000 | |
| ニックネームによって参照されるデータ・ソース表またはビューにある列の最大数 | 5000 | |
| 分散キー内の列の最大数5 | 500 | |
| すべてのオーバーヘッドを含む行の最大長 2 6 9 | 32,677 | |
| 非パーティション表の、データベース・パーティション当たりの行の最大数 | 128 x 1010 | |
| データ・パーティションの、データベース・パーティション当たりの行の最大数 | 128 x 1010 | |
| REGULAR 表スペース内のデータベース・パーティション当たりの表の最大サイズ (ギガバイト単位)3 6 | 512 | |
| LARGE DMS 表スペース内のデータベース・パーティション当たりの表の最大サイズ (テラバイト単位)6 | 64 | |
| 1 つの表のデータ・パーティションの最大数 | 32,767 | |
| 表パーティション列の最大数 | 16 | |
| ユーザー定義行データ・タイプのフィールドの最大数 | 1012 | |
| 表スペース | 表または表パーティションごとの LOB オブジェクトの最大サイズ (テラバイト単位) | 4 |
| 表スペース内の XML オブジェクトの最大サイズは、表スペースの最大サイズと同じです。 表 9を参照してください。 | ||
| 表または表パーティションごとの LF オブジェクトの最大サイズ (テラバイト単位) | 2 | |
| データベース内の表スペースの最大数 | 32,768 | |
| SMS 表スペース内の表の最大数 | 65,532 | |
| REGULAR DMS 表スペースの最大サイズ (ギガバイト単位)3 6 | 512 | |
| LARGE DMS 表スペースの最大サイズ (テラバイト単位)3 6 | 64 | |
| 一時 DMS 表スペースの最大サイズ (テラバイト単位) 3 6 | 64 | |
| DMS 表スペース内の表オブジェクトの最大数 | 表 9 を参照してください。 | |
| トリガー | トリガーのカスケード実行時の最大の深さ | 16 |
| ユーザー定義タイプ | 構造化タイプ内の属性の最大数 | 4082 |
| ワークロード・マネージャー | データベース当たりのユーザー定義サービス・スーパークラスの最大数 | 64 |
| サービス・スーパークラス当たりのユーザー定義サービス・サブクラスの最大数 | 61 | |
| オープン・ファイル数 | 単一の Db2 インスタンスによって開かれるファイルの最大数。 これには、インスタンス内のすべてのデータベースの表スペース・コンテナー・ファイルとトランザクション・ログ・ファイルが含まれますが、それらに限られません。 さらに、オペレーティング・システムによって下限が設定される場合があります。 | 65534 |
注:
|
||
| 説明 | 4K ページ・サイズ制限 | 8K ページ・サイズ制限 | 16K ページ・サイズ制限 | 32K ページ・サイズ制限 |
|---|---|---|---|---|
| DMS 表スペース内の表オブジェクトの最大数1 | 51,9712 53,2123 |
53,299 | 53,747 | 54,264 |
| 行オーガナイズ 表の列の最大数 | 500 | 1012 | 1012 | 2048 |
| カラム・オーガナイズ 表の列の最大数 | 2048 |
2048 |
2048 |
2048 |
| 行オーガナイズ 表の 行の最大長 (すべてのオーバーヘッドを含む) | 4005 | 8101 | 16,293 | 32,677 |
| カラム・オーガナイズ 表の行の最大長 (すべてのオーバーヘッドを含む) | 1,048,319 | 1,048,319 | 1,048,319 | 1,048,319 |
| REGULAR 表スペース内のデータベース・パーティション当たりの表の最大サイズ (ギガバイト単位) | 64 | 128 | 256 | 512 |
| LARGE DMS 表スペース内のデータベース・パーティション当たりの表の最大サイズ (テラバイト単位) | 8 | 16 | 32 | 64 |
| すべてのオーバーヘッドを含む索引キーの最大長 (バイト単位) | 1024 | 2048 | 4096 | 8192 |
| SMS 表スペース内のデータベース・パーティション当たりの索引の最大サイズ (テラバイト単位) | 8 | 16 | 32 | 64 |
| REGULAR DMS 表スペース内のデータベース・パーティション当たりの索引の最大サイズ (ギガバイト単位) | 64 | 128 | 256 | 512 |
| LARGE DMS 表スペース内のデータベース・パーティション当たりの索引の最大サイズ (テラバイト単位) | 8 | 16 | 32 | 64 |
| データベース・パーティション当たりの REGULAR DMS 表スペースの最大サイズ (ギガバイト単位) | 64 | 128 | 256 | 512 |
| データベース・パーティションごとの大容量DMSテーブル・スペースの最大サイズ(単位: テラバイト) | 8 | 16 | 32 | 64 |
| データベース・パーティションごとの一時DMSテーブル・スペースの最大サイズ(単位:テラバイト) | 8 | 16 | 32 | 64 |
| 選択リスト内のエレメントの最大数 | 5004 | 10125 | 10125 | 2048 |
| GROUP BY 節中の列の最大数 | 500 | 10125 | 10125 | 2048 |
| GROUP BY 節中の列の合計長の最大値 (バイト単位) | 4005 | 8101 | 16,293 | 32,677 |
| ORDER BY 節中の列の最大数 | 500 | 10125 | 10125 | 2048 |
| ORDER BY 節中の列の合計長の最大値 (バイト単位) | 4005 | 8101 | 16,293 | 32,677 |
| 挿入操作内の値の最大数 | 500 | 10125 | 10125 | 2048 |
| 単一の更新操作中の SET 節の最大数 | 500 | 10125 | 10125 | 2048 |
| REGULAR 表スペースのページ当たりの最大レコード数 | 251 | 253 | 254 | 253 |
| LARGE 表スペースのページ当たりの最大レコード数 | 287 | 580 | 1165 | 2335 |
| 通常のテーブル空間におけるXMLオブジェクトの最大サイズ(単位:ギガバイト) | 64 | 128 | 256 | 512 |
| ラージテーブルスペース内のXMLオブジェクトの最大サイズ(単位:テラバイト) | 8 | 16 | 32 | 64 |
注:
|
||||