記憶域要件

宣言された列の長さが128バイトより大きい可変長の列は表外に保存されます。宣言された列の長さが128バイト以下の可変長の列は、表内に保存されます。すべてのLOBデータ型は表外に保存されます。

文字セマンティクスの場合、表外に保存されるバイトの数は文字セットによって異なります。たとえば、文字ごとに4バイトが必要な文字セットでは、宣言された列の長さが32(128/4)より大きい可変長の列は表外に保存されます。

表1-5に、データ型別の記憶域要件を示します。

表1-5 データ型別の記憶域要件

必要な記憶域

BINARY(n)

nバイト

BINARY_DOUBLE

8バイト

BINARY_FLOAT

4バイト

CHAR(n[BYTE|CHAR])

n バイト、文字セマンティクスを使用する場合はn文字

文字セマンティクスを使用する場合、列長(n)は、長さセマンティクスと文字セットに基づきます。

DATE

7バイト

Interval

TimesTenでは、時間隔型を格納することはできません。

NCHAR(n)

必要なバイト数は2*nです(nは文字数)。

NUMBER

5から22バイト

NVARCHAR2(n)

NOT INLINE列の場合:

2×(値の長さ)+24バイト(最小40バイト)。

INLINE列の場合:

2×(列の長さ)+8バイト。

ROWID

12バイト

TIMESTAMP

12バイト

TT_BIGINT

8バイト

TT_DATE

4バイト

TT_INT[EGER]

4バイト

TT_SMALLINT

2バイト

TT_TIME

8バイト

TT_TIMESTAMP

8バイト

TT_TINYINT

1バイト

VARBINARY(n)

NOT INLINE列の場合:

値の長さ+24バイト(最小40バイト)。

INLINE列の場合:

列の長さ+ 8バイト。

VARCHAR2(n[BYTE|CHAR])

NOT INLINE列の場合:

値の長さ+24バイト(最小40バイト)。NULL値は(nullビット)+8バイト、または8.125バイトとして格納されます。

この記憶域の原則は、すべての可変長NOT INLINEデータ型(TT_VARCHARTT_NVARCHARVARCHAR2NVARCHAR2およびVARBINARY)に適用されます。

INLINE列の場合:

n + 8バイト。NULL値は、(nullビット) + n + 8バイトとして格納されます。

文字セマンティクスを使用する場合、列長(n)は、長さセマンティクスと文字セットに基づきます。

BLOBおよびCLOB

値の長さ+48バイト(最小56バイト)

NCLOB

2×(値の長さ)+48バイト(最小56バイト)