ページの先頭行へ戻る
Symfoware Server アプリケーション開発ガイド(埋込みSQL編)

付録D 定量制限

Symfoware/RDBの定量制限を以下に示します。

表D.1 Symfoware/RDBの定量制限

項目

定量制限

データベース数

無制限

名標の長さ

英字

データベース名

36文字以内 (注1)

スキーマ名

36文字以内 (注1) (注2)

表名

36文字以内 (注1) (注2)

列名

36文字以内 (注1)

インデックス名

36文字以内 (注1) (注2)

DSO名

36文字以内 (注1)

DSI名

36文字以内 (注1)

データベーススペース名

36文字以内 (注1)

カーソル名

36文字以内 (注1)

相関名

36文字以内 (注1)

ルーチン名

36文字以内 (注1)

スコープ名

36文字以内 (注1)

トリガ名

36文字以内 (注1)

SQL文識別子

36文字以内 (注1)

SQL変数名

36文字以内 (注1)

文ラベル

36文字以内 (注1)

パラメタ名

36文字以内 (注1)

条件名

36文字以内 (注1)

認可識別子

18文字以内

記述子名

36文字以内

コネクション名

36文字以内

SQLサーバ名

36文字以内

順序名

36文字以内 (注1)

ロール名

36文字以内 (注1)

ロググループ名

18文字以内

共用バッファ識別子

18文字以内

日本語

データベース名

18文字以内

スキーマ名

18文字以内       (注2)

表名

18文字以内       (注2)

列名

18文字以内

インデックス名

18文字以内       (注2)

DSO名

18文字以内

DSI名

18文字以内

データベーススペース名

18文字以内

カーソル名

18文字以内

相関名

18文字以内

ルーチン名

18文字以内

スコープ名

18文字以内

トリガ名

18文字以内

SQL文識別子

18文字以内

SQL変数名

18文字以内

文ラベル

18文字以内

パラメタ名

18文字以内

条件名

18文字以内

認可識別子

9文字以内

記述子名

18文字以内

コネクション名

18文字以内

SQLサーバ名

18文字以内

順序名

18文字以内

ロール名

18文字以内

ロググループ名

18文字以内または12文字以内 (注3)

共用バッファ識別子

18文字以内

スキーマ要素

実表数/スキーマ

無制限

列数/表

最大32,000個

表の行長

SEQUENTIAL構造(BLOB型を含む場合)

最大2,000メガバイト

SEQUENTIAL構造(BLOB型を含まない場合)またはRANDOM構造

最大32,000バイト

OBJECT構造

最大2,047メガバイト+32,000バイト

一意性制約を構成する列数

最大64列

一意性制約を構成するデータ長

最大1,000バイト

既定値オプションのデータ長

最大3,000バイト (注4)

容量/表

ペタバイトオーダ

注釈定義

256バイト

トリガ定義文の探索条件の文字列長

最大15,000バイト

トリガ定義文の被トリガSQL文の文字列長

最大15,000バイト

ビュー定義文の問合せ指定の文字列長

最大30,000バイト

格納構造要素

実表

DSO数/スキーマ

無制限

DSI数

無制限

DSI数/DSO

無制限

分割条件を指定する固定長文字列型の1つあたりのデータ長

CHARACTER

最大254文字

NATIONAL CHARACTER

最大127文字

キー構成列数

最大64列

クラスタのキーの長さ

最大1,000バイト

ページ長(BLOBが31キロバイト以内)

1、2、4、8、16、32キロバイト

ページ長(BLOBが32キロバイト以上)

32キロバイト

容量/DSI

2テラバイト未満

DSIの静的容量拡張/拡張量

2,097,151キロバイト

DSIの動的容量拡張/1回の拡張量

2,097,151キロバイト

DSIの動的容量拡張/拡張契機

2テラバイト未満

DSI領域のアラームポイント

2テラバイト未満

インデックス

DSO数

無制限

DSI数

無制限

DSI数/DSO

無制限

キー構成列数

最大64列

キーの長さ

最大1,000バイト

ページ長

1、2、4、8、16、32キロバイト

容量/DSI

2テラバイト未満

DSIの静的容量拡張/拡張量

2,097,151キロバイト

DSIの動的容量拡張/1回の拡張量

2,097,151キロバイト

DSIの動的容量拡張/拡張契機

2テラバイト未満

DSI領域のアラームポイント

2テラバイト未満

扱えるデータ種と属性 (C言語)

文字

固定長

32,000バイト

可変長

32,000バイト

日本語文字

固定長

32,000バイト

可変長

32,000バイト

数字

外部10進表現

最大18桁

内部2進表現

2バイト

-32,768 から 32,767

4バイト

-2,147,483,648 から 2,147,483,647

8バイト

-999,999,999,999,999,999から999,999,999,999,999,999

内部10進表現

最大18桁

浮動小数点表現

4バイト

3.4E +/- 38 (7 桁)

8バイト

1.7E +/- 308 (15 桁)

BLOB

2ギガバイト

扱えるデータ種と属性 (COBOL)

文字

固定長

32,000文字

可変長

32,000文字

日本語文字

固定長

16,000文字

可変長

16,000文字

数字

外部10進表現

最大18桁

内部2進表現

2バイト

最大4桁

4バイト

最大9桁

内部10進表現

最大18桁

浮動小数点表現

4バイト

仮数桁数6以下

8バイト

仮数桁数7以上

BLOB

2ギガバイト

データ操作文

アプリケーションの1プロセスあたりの最大コネクション数

ローカルアクセス

512

リモートアクセス

無制限

選択リストに指定可能な値式数

最大32,000個

選択リストに指定可能な列の合計長

最大2ギガバイト-1 (注5)

表式のFROM句に指定可能な表参照の数

最大128個

GROUP BY句に指定可能な値式数

最大32,000個

ORDER BY句に指定可能な値式数

最大32,000個

1つの問合せ式に指定できる問合せ項の数

64個 (注6)

1つの参照表に指定できる結合表の入れ子の数

128個 (注7)

1つの値式に指定できる関数または演算式の数

128個 (注8)

1つのセションで同時に処理可能なカーソル数

無制限

1つのセションで同時に接続できるコネクション

最大16

1つのSQL文の文字列長

静的SQL

無制限

動的SQL

最大32キロバイト

ASSIST指定

ASSIST要素に指定できる制約ASSISTの数

最大128個

ジョインASSISTに指定できるASSIST表要素の数

最大128個

注1) Symfoware Serverと組み合わせて使用する製品で18文字を超える識別子を扱えない場合は、システム用の動作環境ファイルでNAME_SIZE_CHECK=YESを指定することにより、19文字以上の資源名を定義できないようにチェックすることができます。19文字以上の資源名の定義に対しては、エラーが返却されます。

注2) 格納構造定義を簡略化した場合は8文字以内です。ただし、システム用の動作環境ファイルでDEFAULT_DSI_NAME=CODEを指定した場合は、先頭が英字で始まる英数字の場合は36文字まで、日本語の場合は18文字まで指定可能です。

注3) Symfoware/RDBの文字コード系がEUCコードまたはシフトJISコードの場合は18文字以内となります。Symfoware/RDBの文字コード系がUNICODEの場合は12文字以内となります。

注4) 既定値オプションを文字列定義で指定する場合、データ中の引用符は2バイトとして数えます。

注5) 以下の見積り式で2ギガバイト-1まで指定可能です。

列の合計長 =選択リストに指定した列の合計長
                + (選択リストに指定したBLOB列数 × 8)
                + NULL値を許可する列数(表定義でNOT NULLを指定していない列数)
                + (可変長の列数 × 2)

なお、選択リストに定数を指定した場合、返却されるデータのデータ型は指定した定数に依存します。

参照

定数を指定した場合のデータ型については、“SQLリファレンス”を参照してください。

注6) 1つの問合せ式として、問合せ項UNION(またはUNION ALL)を複数指定した場合のUNION(またはUNION ALL)の数の定量制限値です。

以下にこの定量制限値でのUNION(またはUNION ALL)の数え方を例を用いて示します。

以下の例の場合、UNIONの数は2個です。

SELECT 倉庫番号 FROM 在庫管理.在庫表
    UNION SELECT 取引先 FROM 在庫管理.発注表
    UNION SELECT 会社番号 FROM 在庫管理.会社表

上記例の数え方については、以下のとおりです。

注7) FROM句に指定できる1つの表参照として、結合表を入れ子で指定した場合の結合表の数の定量制限値です。

以下にこの定量制限値での結合表の数え方を例を用いて示します。

以下の例の場合、結合表の数は4個です。

SELECT * FROM 在庫管理.会社表
    LEFT JOIN (在庫管理.在庫表4
        LEFT JOIN (在庫管理.在庫表3
            LEFT JOIN (在庫管理.在庫表2 LEFT JOIN 在庫管理.在庫表1
            ON 在庫表2.倉庫番号 = 1)
        ON 在庫表3.倉庫番号 = 1)
    ON 在庫表4.倉庫番号 = 1)
ON 会社表.会社番号 = 1

上記例の数え方については、以下のとおりです。

注8) 1つの値式に指定した関数または演算式の合計数の定量制限値です。

関数の場合、1つの値式として、関数を入れ子で指定した場合の入れ子の数です。

演算式の場合、1つの値式として、演算式を複数指定した場合の演算式の数です。

なお対象となる値式は、以下のとおりです。

以下にこの定量制限値での関数および演算式の数え方を例を用いて示します。

例1:関数の場合

以下の例の場合、関数の数は4個です。

SELECT
    CHAR_LENGTH(SUBSTRING(CAST(倉庫番号 AS CHAR(10)) FROM 在庫数量))
    FROM 在庫管理.会社表

上記例の関数の数え方については、以下のとおりです。

例2:演算式の場合

以下の例の場合、演算式の数は6個です。

SELECT
    CHAR_LENGTH(会社名)+CHAR_LENGTH(電話番号)+CHAR_LENGTH(住所)
    FROM 在庫管理.会社表

上記例の演算式の数え方については、以下のとおりです。

コンパイル時の定量制限

1つのコンパイル単位における定量制限を以下に示します。

表D.2 コンパイル時の定量制限

項目

定量制限

備考

ホストラベル識別子

32 個

  

日本語名標

ホスト変数名など、C言語では使用不可