スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

12.9 スナップショット方式によるページアクセス

性能向上を目的とした機能(グループ分け高速化機能など)を適用できない検索をするとき,条件に合致する行数とほぼ同数回グローバルバッファにアクセスしています。スナップショット方式では,最初のアクセス時にバッファ内の探索条件に一致するすべての行をプロセス固有メモリ上にコピーし,2回目以降の同一ページのアクセスはプロセス固有メモリ上を参照して検索結果を返します。スナップショット方式の概要を次の図に示します。

図12-4 スナップショット方式の概要

[図データ]

<この節の構成>
(1) スナップショット方式によるアクセスの効果
(2) 指定方法
(3) 指定上の考慮点
(4) スナップショット方式の適用可否

(1) スナップショット方式によるアクセスの効果

最初に探索条件に一致する行をプロセス固有メモリにコピーするため,2回目以降のアクセス時に掛かる検索時間を短縮できます。また,グローバルバッファへのアクセス回数を削減し,同一グローバルバッファへのアクセスの集中を防ぎます。

(2) 指定方法

pd_pageaccess_modeオペランドSNAPSHOT(省略値)を指定します。

(3) 指定上の考慮点

スナップショット方式を指定すると,表又はインデクスの格納RDエリアのページサイズに基づいて,動的にプロセス固有メモリが確保されます。確保されるプロセス固有メモリの計算式については,HiRDB/シングルサーバの場合「16.1.6(4) スナップショット方式指定時に必要なメモリ所要量の求め方」を参照してください。HiRDB/パラレルサーバの場合「16.2.6(5) スナップショット方式指定時に必要なメモリ所要量の求め方」を参照してください。

(4) スナップショット方式の適用可否

検索時にスナップショット方式を適用するかどうかを次の表に示します。

表12-1 検索時のスナップショット方式の適用可否

条件 アクセス対象別
の適用可否
インデクス
システム共通定義にpd_indexlock_mode=KEYを指定した場合に次の条件を満たさない検索
  • WITHOUT LOCK NOWAIT指定の検索
  • LOCK TABLE前提の検索
×
ホールダブルカーソルを使った検索 × ×
検索方式がインデクススキャン(INDEX SCAN,MULTI COLUMNS INDEX SCAN)の検索 WITHOUT LOCK WAIT指定の場合 × ×
上記以外 ×
検索方式がROWID FETCHの検索 ×
次の列を指定している検索
  • 定義長256バイト以上のVARCHAR,MVARCHAR,NVARCHAR型の列
  • 繰返し列
  • 抽象データ型の列
  • LOB列
  • 定義長256バイト以上のBINARY型の列
WITHOUT LOCK WAIT指定の場合 ×
上記以外 ×
ページ内のヒット件数が1件になるような探索条件を指定した検索 × ×
プラグインインデクスを使った検索 × ×
ディクショナリ表に対する検索 × ×

(凡例)
○:適用します。
×:適用しません。
△:検索方式がキースキャン(KEY SCAN,MULTI COLUMNS KEY SCAN)の場合に適用します。
−:条件に依存しません。又は該当しません。