• 検索結果がありません。

一時表

ドキュメント内 HiRDB Version 10 解説 (ページ 120-124)

前書き 2 変更内容 6

3.2  スキーマ

3.3.17  一時表

一時表の適用基準

データ件数が多い表の一部にだけアクセスが頻繁にあるトランザクションや,

中間処理結果を一時的に保存する必要があるような複雑な処理をするバッチ業務などに一時表の使用を お勧めします。

一時表については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

(1) 一時表のデータ有効期間

実体化された一時表のデータ有効期間(実体が存在する期間)は,その一時表がトランザクション固有一 時表か,SQL セッション固有一時表かによって異なります。一時表のデータ有効期間の開始及び終了タイ ミングを次の表に示します。

表 3‒6 一時表のデータ有効期間の開始と終了

一時表の種類 開始となるタイミング 終了となるタイミング

トランザクション固有一時表 トランザクション中で,一時表に対して最

初に INSERT 文が実行されたとき

トランザクションが決着したとき

SQL セッション固有一時表 SQL セッション中で,一時表に対して最 初に INSERT 文が実行されたとき

• SQL セッションが終了したとき

• 一時表を実体化したバックエンドサーバが 終了したとき

• 一時表を実体化したバックエンドサーバが あるユニットが終了したとき

• 一時表を実体化したバックエンドサーバ,

又はそのバックエンドサーバがあるユニッ トに対して系切り替えが発生したとき

注意事項

一時表のデータ有効期間外に,一時表に対して検索,更新,及び削除を実行しても,データがない 表に対して SQL を実行したときと同じ結果になります。

(2) 一時表及び一時インデクスの定義方法

(a) 一時表を定義する場合

定義系 SQL の

CREATE TABLE

GLOBAL TEMPORARY

を指定します。トランザクション固有一時表 を定義する場合は

ON COMMIT DELETE ROWS

を,SQL セッション固有一時表を定義する場合は

ON COMMIT PRESERVE ROWS

を指定します。なお,一時表の場合,指定できない,又は指定しても無視 されるオペランドがあります。詳細については,マニュアル「HiRDB SQL リファレンス」の CREATE TABLE を参照してください。

3. データベースの論理構造

(b) 一時インデクスを定義する場合

基本的に,通常のインデクスの定義と同じです。一時インデクスも一時表と同様に,指定できない,又は 指定しても無視されるオペランドがあります。詳細については,マニュアル「HiRDB SQL リファレンス」

の CREATE INDEX を参照してください。

(c) データを格納する一時表用 RD エリアを指定する場合

クライアント環境定義

PDTMPTBLRDAREA

に使用する一時表用 RD エリア名を指定します。複数の RD エリアを指定した場合や,この環境定義の指定を省略した場合,次の規則に従って HiRDB がデータを格 納する一時表用 RD エリアを決定します。

PDTMPTBLRDAREA に複数の RD エリアを指定している場合

指定した RD エリアに特定 SQL セッション占有属性と SQL セッション間共有属性の一時表用 RD エ リアが混在しているときは,特定 SQL セッション占有属性の一時表用 RD エリアを優先して使用します。

PDTMPTBLRDAREA の指定を省略している場合

SQL セッション間共有属性の一時表用 RD エリアを使用します。

格納先 RD エリアの決定規則については,マニュアル「HiRDB システム導入・設計ガイド」を参照して ください。

(3) 一時表使用時の制限事項

(a) 運用コマンド又はユティリティ

次に示す運用コマンド又はユティリティは,一時表に対して実行できません。詳細は,マニュアル「HiRDB コマンドリファレンス」を参照してください。

• pdorbegin コマンド【UNIX 版限定】

• 最適化情報収集ユティリティ(pdgetcst)

• データベース作成ユティリティ(pdload)

• グローバルバッファ常駐化ユティリティ(pdpgbfon)

• 空きページ解放ユティリティ(pdreclaim)

• データベース再編成ユティリティ(pdrorg)

(b) SQL

次に示す SQL は,一時表又は一時インデクスを指定できないなどの制限があります。詳細は,マニュアル

「HiRDB SQL リファレンス」を参照してください。

• 定義系 SQL ALTER INDEX ALTER TABLE

3. データベースの論理構造

CREATE INDEX CREATE TABLE CREATE TRIGGER GRANT

REVOKE

• 操作系 SQL

ALLOCATE CURSOR 文 ASSIGN LIST 文

DECLARE CURSOR 文 動的 SELECT 文

SELECT 文(表参照,問合せ式 形式 2)

DELETE 文 UPDATE 文

• 制御系 SQL COMMIT 文 DISCONNECT 文 ROLLBACK 文 LOCK TABLE 文

SET SESSION AUTHORIZATION 文

3. データベースの論理構造

ドキュメント内 HiRDB Version 10 解説 (ページ 120-124)