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

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

付録D.5 使用中空きページとページ内の空き領域の再利用

行の挿入及び削除を繰り返す業務では表やインデクスの格納効率が悪くなり,性能低下の一因になります。そのため,定期的にデータベース再編成ユティリティで表やインデクスを再編成する必要があります。しかし,ユティリティの実行中はほかのUAP又はユティリティからその表やインデクスをアクセスできないため,その表をアクセスする業務を停止する必要があります。業務を停止できないため表又はインデクスを再編成できない場合に,次に示す機能を使用してください。

使用中空きページ及び使用中空きセグメントを解放すると使用中空きページ及び使用中空きセグメントを再利用でき,空き領域の再利用機能を使用するとページ内の空き領域を再利用できます。これらの機能を組み合わせるとデータの格納効率が上がり,性能低下を抑えられるため,表又はインデクスを再編成するサイクルを長くできます。

<この項の構成>
(1) 使用中空きページ及び使用中空きセグメントの解放
(2) 空き領域の再利用機能

(1) 使用中空きページ及び使用中空きセグメントの解放

バッチジョブなどで表データを大量に削除すると,その表データを格納しているページ(データページ)の一部が使用中空きページになることがあります。また,インデクスを定義している場合は,インデクスのキー値を格納しているページ(インデクスページ)の一部が使用中空きページになります。空きページ解放ユティリティ(pdreclaimコマンド)を実行すると,この使用中空きページを未使用ページ化して再利用できます。これを使用中空きページの解放といいます。また,使用中空きセグメントを未使用セグメント化して再利用できます。これを使用中空きセグメントの解放といいます。

使用中空きページ及び使用中空きセグメントの解放については,「15.10 使用中空きページ及び使用中空きセグメントを再利用する方法」を参照してください。

(2) 空き領域の再利用機能

INSERT処理でセグメント内にデータを格納できない場合,未使用セグメントを新たに割り当てないで,使用中セグメント内の空き領域(ページ内の空き領域)にデータを格納します。これを空き領域の再利用機能といいます。この機能を使用すると,データの削除によって発生したむだな空き領域を再利用できます。

空き領域の再利用機能を使用する場合は,CREATE TABLE実行時にSEGMENT REUSEを指定してください。空き領域の再利用機能については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。