スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
外への参照のない副問合せの実行方式及び特徴を表4-13に示します。また,外への参照のない副問合せの最適な実行方式を表4-14に示します。
表4-13 外への参照のない副問合せの実行方式及び特徴
実行方式 | 処理方式 | 長所 | 短所 |
---|---|---|---|
作業表ATS実行 | あらかじめ結果を求めて作業表を作成しておいて,外側の問合せに対してインデクスを使用して検索する場合に,副問合せ結果から作成した作業表を使用してサーチ範囲を絞り込む方式です。 | 外側の問合せに対してインデクスを使用できます。したがって,副問合せのヒット件数が少く,外側の問合せの件数が多い場合,インデクスを使用することでサーチ範囲を絞り込めるときに高速に検索できます。 | 副問合せの結果の行数分,外側の問合せに対してインデクスを使用して検索するため,副問合せのヒット件数が多い場合には性能が悪くなります。 |
作業表実行 | あらかじめ副問合せの結果を求めて作業表を作成しておいて,外側の問合せを1行検索するごとに副問合せの結果から作成した作業表と突き合わせて,副問合せを含む述語を評価する方式です。 | 作業表を必要とするすべての副問合せの条件に対して適用できます。 | 外側の問合せの件数が多い場合には性能が悪くなります。 |
行値実行 | あらかじめ副問合せを求めておいて(作業表は作成しません),外側の問合せを検索する場合に副問合せの結果の値を使用することで,副問合せを含む条件を評価する方式です。 | 外側の問合せに対してインデクスを使用できます。したがって,外側の問合せの件数が多い場合,インデクスを使用することでサーチ範囲を絞り込めるときは高速に検索できます。 | 外側の問合せの件数が多く,インデクスを使用して副問合せを含む述語を絞り込めない場合は,性能が悪くなります。 |
ハッシュ実行 | あらかじめ副問合せ結果からハッシュ表を作成しておいて,外側の問合せを1行取り出すごとに外側の問合せの値をハッシングして,ハッシュ表と突き合わせをする方式です。 | 副問合せのヒット件数が少なく,外側の問合せの件数が多い場合,高速に検索できます。 | 副問合せのヒット件数が多い場合は,使用する作業表用バッファサイズが大きくなります。使用する作業表バッファサイズを指定できますが,作業表用バッファが一杯になった場合は,いったん作業表用ファイルへ退避するため,性能が悪くなります。 |
表4-14 外への参照のない副問合せの最適な実行方式
副問合せ | 最適な実行方式 | |
---|---|---|
=ANY,=SOMEの限定述語の右側,及びIN述語の右側に指定した表副問合せ | 外側の問合せ,副問合せのデータ件数によって異なります。 | |
外側の問合せ:多い 副問合せ :少ない |
作業表ATS実行,又はハッシュ実行が有効です。 | |
外側の問合せ:中間 副問合せ :少ない |
||
外側の問合せ:少ない 副問合せ :少ない |
||
外側の問合せ:多い 副問合せ :中間 |
ハッシュ実行が有効です。 | |
外側の問合せ:中間 副問合せ :中間 |
||
外側の問合せ:少ない 副問合せ :中間 |
ハッシュ実行,又は作業表実行が有効です。 | |
外側の問合せ:多い 副問合せ :多い |
ハッシュ実行が有効です(データ件数が多いので性能向上は期待できません)。 | |
外側の問合せ:中間 副問合せ :多い |
||
外側の問合せ:少ない 副問合せ :多い |
ハッシュ実行,又は作業表実行が有効です。なお,外への参照のあるEXISTS述語に変換すると,高速に検索できることがあります。 | |
限定述語(=ANY及び=SOMEを除く)の右側,及びIN述語の右側に指定した表副問合せ | 常に作業表実行が適用されます。 | |
EXISTS述語の副問合せ | 常に行値実行が適用されます。 | |
上記以外の副問合せ(スカラ副問合せ,及び行副問合せ) |
図4-50 WORK TABLE ATS SUBQの処理方式
SELECT C1 FROM T1 WHERE C2=ANY(SELECT C2 FROM T2)
図4-51 WORK TABLE SUBQの処理方式
SELECT T1.C1 FROM T1 WHERE T1.C2=ANY(SELECT C2 FROM T2)
図4-52 ROW VALUE SUBQの処理方式
SELECT T1.C1 FROM T1 WHERE T1.C2<(SELECT MAX(C2) FROM T2)
図4-53 HASH SUBQの処理方式
SELECT T1.C1 FROM T1 WHERE T1.C2=ANY(SELECT C2 FROM T2)
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.