Hitachi

ノンストップデータベース HiRDB Version 10 システム導入・設計ガイド(UNIX(R)用)


11.11.1 ノースプリットオプションの適用基準と指定方法

表に次に示すデータ型が定義されていて,次に示すデータ型の実際のデータ長が256バイト以上の場合,1行のデータを複数のページに格納します。このときのデータ格納方式を次の図に示します。

〔説明〕

可変長文字列を除いたデータと可変長文字列のデータは,異なるページに格納されます。このため,データの格納効率が低下します。このような場合に,ノースプリットオプションを指定してデータの格納効率を向上してください。

〈この項の構成〉

(1) 適用基準

ノースプリットオプションを指定すると,可変長文字列の実際のデータ長が256バイト以上であっても,1行を1ページに格納します。ノースプリットオプションを指定したときのデータ格納方式を次の図に示します。

図11‒22 ノースプリットオプションを指定したときのデータ格納方式

[図データ]

〔説明〕

1行の全データを同じページに格納します。このため,データの格納効率がノースプリットオプションを指定しないときに比べて向上します。

(2) 指定方法

ノースプリットオプションを指定するには,定義系SQLのALTER TABLECREATE TABLE又はCREATE TYPENO SPLITオプションを指定します。

(3) 注意

  • 1行のデータ長の合計がページ長を超える場合は,ノースプリットオプションを指定してもスプリット(1行のデータを複数のページに格納)します。

  • 可変長文字列の実際のデータ長が255バイト以下の場合にノースプリットオプションを指定すると,指定しないときに比べて列データ長が1バイト長くなります。

  • ノースプリットオプションを指定すると,可変長文字列の実際のデータ長が256バイト以上であっても分岐しないため,ノースプリットオプションを指定しない場合と比べて1ページに格納される行数が少なくなります。このため,インデクススキャンでノースプリットオプションが適用された可変長文字列型の列データを取り出さない検索をすると,ノースプリットオプションを指定しないときに比べてアクセスするページ数が多くなり,検索性能が低下することがあります。ただし,キースキャン及びテーブルスキャンの場合は影響はありません。



目次