スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(Windows(R)用)
サーチ条件でインデクスを絞り込んで,キー条件で評価します。
インデクスの端から端までをキー条件で評価します。インデクスの全範囲をサーチする必要があるため,サーチ条件とキー条件の両方がある場合に比べて,性能的に遅くなります。
パターン文字列に埋込み変数,?パラメタ,SQL変数,SQLパラメタを持つLIKE述語,又はSIMILAR述語を指定すると,実行時に与えられるパターン文字列が’abc%d’のような場合には,サーチ条件で’abc’から始まる値をサーチし,キー条件で最後が’d’で終わるかどうかを判定します。しかし,実行時に与えられるパターン文字列が’abc%’のような前方一致となる値を指定すると,’abc’から始まる値をサーチするだけで条件を評価できると判断し,実行時にキー条件を評価しなくなります。
このようにパターン文字列の値によって,削除できるようになるキー条件を< >で囲んで表示します。
キー条件に含まれる述語の形式を示します。限定述語,EXISTS述語はキー条件にはなりません。
ここで説明するキー条件の例は,インデクスの定義方法によっては,より高速に検索をするためサーチ条件にする場合があります。
例) where T1.C1 is null → KeyCnd:T1.C1 is null
例) where T1.C1 is not null → KeyCnd:T1.C1 is not null
例) where T1.C1 in ('a','b','c') → KeyCnd:T1.C1 in ('a','b','c')
例) where T1.C1 not in ('a','b','c') → KeyCnd:T1.C1 not in ('a','b','c')
例) where T1.C1 like '%a' → KeyCnd:T1.C1 like '%a'
例) where T1.C1 not like '%a\_' escape '\' → KeyCnd:T1.C1 not like '%a\_' escape '\'
例) where T1.C1 xlike '%a' → KeyCnd:T1.C1 xlike '%a'
例) where T1.C1 not xlike '%a\_' escape '\' → KeyCnd:T1.C1 not xlike '%a\_' escape '\'
例1) where T1.C1 >= 'a' and T1.C1 <= 'z' → KeyCnd:T1.C1 between 'a' and 'z' 例2) where T1.C1 not between 'a' and 'z' → KeyCnd:T1.C1<'a' OR T1.C1>'z'
例1) where T1.C1=T1.C2 → KeyCnd:T1.C1=T1.C2 例2) where T1.C1=(select C1 from T2) → KeyCnd:T1.C1=SUBQ(2)
例) where array(T1.C1,T1.C2)[any] (T1.C1<'a' or (T1.C1>'z' and T2.C2='a')) → KeyCnd:array(...)[any] (T1.C1<'a' or (T1.C1>'z' and T2.C2='a'))
例) where T1.C1 similar to '%a' → KeyCnd:T1.C1 similar to '%a'
例) where T1.C1 not similar to '%a\_' escape '\' → KeyCnd:T1.C1 not similar to '%a\_' escape '\'
キー条件に列名を指定した場合に表示します。
表名が相関名の場合には,表名の代わりに相関名を( )で囲んで表示します。
制約判定のためにHiRDBが内部的に生成する副問合せ中で,外部キーへの挿入値,又は更新値を使用して絞り込む場合に表示します。
キー条件に繰返し列(添字は整数,又はANY)を指定した場合に表示します。
表名が相関名の場合には,表名の代わりに相関名を( )で囲んで表示します。
キー条件に定数を指定した場合に値を表示します。定数の表示形式については,マニュアル「HiRDB Version 8 SQLリファレンス」を参照してください。
キー条件に埋込み変数,又は?パラメタを指定した場合に表示します。?番号とは,SQL文中にある埋込み変数,又は?パラメタに対して,1を開始値として左から出現順に番号を付けたものです。
キー条件にSQL変数を指定した場合に表示します。
キー条件にSQLパラメタを指定した場合に表示します。
トリガSQL文中で新値相関名の列,及び旧値相関名の列を使用している場合,新値相関名の列は「(NEWROW).列名」,旧値相関名の列は「(OLDROW).列名」と表示します。
キー条件にUSERを指定した場合に表示します。
キー条件にCURRENT_DATEを指定した場合に表示します。
キー条件にCURRENT_TIMEを指定した場合に表示します。
キー条件にCURRENT_TIMESTAMPを指定した場合に表示します(p=0,2,4,又は6)。
キー条件に集合演算を含まないスカラ副問合せ,又は行副問合せを指定した場合に表示します。( )の中には問合せIDを表示します。
キー条件に集合演算を含むスカラ副問合せ,又は行副問合せを指定した場合に表示します。( )の中には問合せIDを表示します。
キー条件にスカラ演算を指定した場合に表示します。
キー条件に行値構成子を指定した場合に表示します。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.