Hitachi

Hitachi Advanced Data Binder AP開発ガイド


5.12.1 アーカイブマルチチャンク表を検索する際のポイント

アーカイブマルチチャンク表を検索する際のポイントを例を使って説明します。

例中で使用するアーカイブマルチチャンク表の定義と,データのアーカイブ状態は次のとおりとします。

■アーカイブマルチチャンク表の定義

[図データ]

■データのアーカイブ状態
  • データベースには,2015年4月〜2016年3月までのデータが格納されています。

  • 2015年4月〜12月までのデータは,アーカイブされています。

  • 2016年1月〜3月までのデータは,アーカイブされていません。

    [図データ]

〈この項の構成〉

(1) 検索時の基本的な考え方

アーカイブマルチチャンク表を検索する際は,アーカイブレンジ列の日時情報を探索条件に指定して,検索範囲を絞り込むようにしてください。

また,検索対象のデータがアーカイブされているかどうかを意識するようにしてください。アーカイブされているデータを検索する場合,検索処理時間が長くなることがあります。

(2) 探索条件の指定

アーカイブマルチチャンク表を検索する際の,探索条件の指定に関するポイントを次に示します。

(3) アーカイブされていないデータを検索する場合

アーカイブされていないデータを検索する場合(この例では2016年1月以降のデータを検索する場合),探索条件には,アーカイブされていないデータだけを検索範囲とする条件を指定します。

(例)
SELECT * FROM "ARCHIVE-T1"
    WHERE "RECORD-DAY" >= DATE'2016/01/01'
    AND "C1"='P001'
    AND "C2"=100

この例の場合,2016/01/01以降のデータだけを検索範囲とする探索条件を指定しています。

(4) アーカイブされているデータを検索する場合

アーカイブされているデータを検索する場合(この例では2015年4月〜2015年12月のデータを検索する場合),探索条件に指定するアーカイブレンジ列の日時情報の範囲をできる限り狭くしてください。

(例)
SELECT * FROM "ARCHIVE-T1"
    WHERE "RECORD-DAY" BETWEEN DATE'2015/10/01' AND DATE'2015/10/05'
    AND "C1"='P001'
    AND "C2"=100

上記の下線部分の指定によって,検索範囲をできる限り絞り込み,読み込み対象のアーカイブファイルを減らします。読み込み対象のアーカイブファイルが増えると,それに比例して検索時間が長くなります。