Hitachi

Hitachi Advanced Data Binder AP開発ガイド


5.2.6 テキストインデクスを使用して検索する際の留意事項

論理演算子ORを使用して,テキストインデクスの構成列を指定したLIKE述語,LIKE_REGEX述語,およびスカラ関数CONTAINSを複数指定した場合,すべての条件に指定した検索文字列を使用して検索処理が行われます。

(例)C1はテキストインデクスの構成列とします。
SELECT * FROM "T1" WHERE "C1" LIKE 'ABCDEFG%'
                      OR "C1" LIKE_REGEX 'XYZ[0-9]+'

上記のSELECT文を実行した場合,LIKE述語およびLIKE_REGEX述語の条件に指定した検索文字列(ABCDEFG%XYZ[0-9]+)を使用して検索処理が行われます。

LIKE述語に指定したパターン文字列,LIKE_REGEX述語に指定した正規表現文字列,スカラ関数CONTAINSに指定した検索条件式指定の文字列の合計数が1,001文字以上になると,検索処理時間が急激に増加するおそれがあります。そのため,合計文字数が1,001文字以上の場合は,次に示すどちらかの対処をすることを検討してください。

UNIONについては,マニュアルHADB SQLリファレンス問合せ式を参照してください。インデクス指定については,マニュアルHADB SQLリファレンスインデクス指定を参照してください。