5.2.12 可変長データ型の列データの分岐指定(BRANCH)【ローストア表】
表をローストア表として定義する場合は,可変長データ型の列データの分岐指定を指定するかどうかを検討してください。表をカラムストア表として定義する場合は,可変長データ型の列データの分岐指定は指定できません。
ここでは,可変長データ型の列データの分岐指定について説明します。可変長データ型とは,次のデータ型のことです。
-
VARCHAR型
-
VARBINARY型
通常,1行のデータは同じページに格納されますが,表に可変長データ型の列を定義した場合,可変長データ型の列データは分岐して別ページに格納されることがあります。
次に示す規則に従って,可変長データ型の列データは格納されます。
-
定義長が255バイト以下の可変長データ型の列の場合
分岐しません。可変長データ型の列データは,同じページに格納されます。
-
定義長が256バイト以上の可変長データ型の列の場合
基本行が1ページに収まるときは,可変長データ型の列データは分岐しません。同じページに格納されます。
基本行が1ページに収まらないときは,可変長データ型の列のデータが分岐して別ページに格納されます。
CREATE TABLE文の列定義のBRANCHの指定によって,可変長データ型の列データを,常に別のページに分岐するかどうかを指定できます。分岐するかどうかの目安を次に示します。
-
可変長データ型の列データの参照頻度が少ない場合
可変長データ型の列データを分岐して,別ページに格納するようにしてください。表の検索処理性能が向上することがあります。
BRANCHにYESを指定すると,指定した可変長データ型の列のデータが分岐します。
-
可変長データ型(定義長が256バイト以上)の列データの参照頻度が多い場合
可変長データ型の列データを分岐しないようにしてください。表の検索処理性能が向上することがあります。
BRANCHにNOを指定すると,指定した可変長データ型の列のデータは分岐しません。
なお,表オプションのBRANCH ALLを指定すると,表中の全可変長データ型の列データが分岐します。表中の全可変長データ型の列データの参照頻度が少ない場合に,BRANCH ALLを指定してください。