スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(Windows(R)用)

[目次][索引][前へ][次へ]

17.5.10 グループ分け処理方式の種類

暗黙的グループ分け処理
問合せ式にGROUP BY句を指定しないで,選択式又はHAVING句中に集合関数を指定した場合の処理です。

明示的グループ分け処理
問合せ式にGROUP BY句を指定した場合の処理です。
<この項の構成>
(1) HiRDB/シングルサーバ
(2) HiRDB/パラレルサーバ

(1) HiRDB/シングルサーバ

(a) 暗黙的グループ分け処理をする場合

IMPLICIT MIN-MAX INDEX:
集合関数MIN,MAXを求めるときに,インデクスの最小値,最大値だけを検索する処理方式です。

IMPLICIT SET FUNCTION SCAN{+}:
行を検索するときに,集合関数の結果を同時に求める処理方式です。

IMPLICIT NORMAL:
行を検索してから,集合関数の結果を求める処理方式です。

IMPLICIT LIST SORT{SET FUNCTION SCAN}:
集合関数中にDISTINCTが含まれる場合に,作業表を作成し重複排除のためにソートしてから集合関数の結果を求める処理方式です。

IMPLICIT SURROGATE(COUNT):
サロゲート機能を使用して集合関数の結果(行数)を求める処理方式です。サロゲート機能とは,プラグインインデクスを呼び出して探索条件を評価すると同時に,プラグイン提供関数の内部で集合関数の結果を求め,集合関数の結果を高速に返却する専用処理のことです。

IMPLICIT SORT CANCEL BY INDEX{SET FUNCTION SCAN}:
重複排除のためのソート処理をしなくてもインデクスを検索することで,DISTINCT集合関数に指定した列をソートできる場合に,重複排除のためのソート処理を省略し,集合関数の結果を求める処理方式です。
(b) 明示的グループ分け処理をする場合

SORT CANCEL BY INDEX{SET SCAN}:
グループ化のためのソート処理をしなくても,インデクスを検索することでグループ化列をソートできる場合に,グループ化のためのソート処理を省略する方式です。

SORT CANCEL BY JOIN:
グループ化のためのソート処理が,マージジョインのためのソート処理によってキャンセルされる場合に,グループ化のためのソート処理を省略する方式です。

HASH:
グループ分け高速化機能を使用する方式です。グループ分け高速化機能については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。

LIST SORT:
作業表を作成してソートすることでグループ化処理をし,グループ化の結果を求める処理方式です。

PRE-SORT JOIN:
すべてのグループ化列が,結合する前の外表又は外側の結合表に含まれる場合に,結合する前の外表又は外側の結合結果に対してソートをして,ソート順を保ったまま結合してグループ化処理をすることで,グループ化の結果を求める処理方式です。

(2) HiRDB/パラレルサーバ

(a) 暗黙的グループ分け処理をする場合

IMPLICIT MIN-MAX INDEX:
集合関数MIN,MAXを求めるときに,各バックエンドサーバで,インデクスの最小値,最大値だけを検索する処理方式です。

IMPLICIT SET FUNCTION SCAN{+}:
各バックエンドサーバで,行を検索するときに,集合関数の結果を同時に求める処理方式です。

IMPLICIT NORMAL:
各バックエンドサーバで,行を検索してから,バックエンドサーバごとの集合関数の結果を求める処理方式です。

IMPLICIT FLOATABLE:
フロータブルサーバに集めて全体の集合関数の結果を求める処理方式です。

IMPLICIT FLOATABLE SORT{SET FUNCTION SCAN}:
集合関数中にDISTINCTが含まれる場合に,フロータブルサーバに集めて作業表を作成し,重複排除のためにソートしてから集合関数の結果を求める処理方式です。

IMPLICIT SURROGATE(COUNT):
各バックエンドサーバで,サロゲート機能を使用してバックエンドサーバごとの集合関数の結果(行数)を求める処理方式です。サロゲート機能とは,プラグインインデクスを呼び出して探索条件を評価すると同時に,プラグイン提供関数の内部で集合関数の結果を求め,集合関数の結果を高速に返却する専用処理のことです。

IMPLICIT SORT CANCEL BY INDEX{SET FUNCTION SCAN}:
重複排除のためのソート処理をしなくてもインデクスを検索することで,DISTINCT集合関数に指定した列をソートできる場合に,重複排除のためのソート処理を省略し,集合関数の結果を求める処理方式です。

IMPLICIT LIST SORT{SET FUNCTION SCAN}:
集合関数にDISTINCTが含まれる場合に,各バックエンドサーバで作業表を作成し,重複排除のためにソートしてから集合関数の結果を求める処理方式です。
(b) 明示的グループ分け処理をする場合

SORT CANCEL BY INDEX{SET SCAN}:
グループ化のためのソート処理をしなくても,インデクスを検索することでグループ化列をソートできる場合に,グループ化のためのソート処理を省略する方式です。

SORT CANCEL BY JOIN:
グループ化のためのソート処理が,マージジョインのためのソート処理によってキャンセルされる場合に,グループ化のためのソート処理を省略する方式です。

HASH:
グループ分け高速化機能を使用してグループ化の結果を求める処理方式です。グループ分け高速化機能については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。

LIST SORT:
各バックエンドサーバで作業表を作成してソートし,グループ化の結果を求める処理方式です。

PRE-SORT JOIN:
すべてのグループ化列が,結合する前の外表又は外側の結合表に含まれる場合に,結合する前にソートをし,ソート順を保ったまま結合してグループ化処理をすることで,グループ化の結果を求める処理方式です。

FLOATABLE SORT:
複数のフロータブルサーバに転送し,作業表を作成してソートすることでグループ化の結果を求める処理方式です。