4.3.5 集合関数の高速処理機能

集合関数の結果をインデクスページから求めることができます。インデクスページだけを参照してデータ件数を求めるため,データ件数を求める処理に掛かるオーバヘッドを削減できます。この機能を集合関数の高速処理機能といいます。

次のようにインデクスを定義した場合を例に,集合関数の指定と集合関数の高速処理機能の適用可否を次の表に示します。

インデクスの定義

CREATE INDEX "T1IX1" ON "T1"("C1" ASC,"C2" ASC) IN DBAREA01

表4-7 集合関数の指定と集合関数の高速処理機能の適用可否

項番集合関数の指定集合関数の高速処理機能の適用可否
1

SELECT COUNT(*) FROM "T1"

2

SELECT COUNT("C1") FROM "T1"

3

SELECT COUNT(DISTINCT "C1") FROM "T1"

4

SELECT COUNT("C2") FROM "T1"

×※1
5

SELECT COUNT("C1") FROM "T1"  WHERE "C1"<>1

×※2
6

SELECT COUNT(*) FROM "T1","T2"

×※3
(凡例)
○:集合関数の高速処理機能が適用されます。
×:集合関数の高速処理機能が適用されません。
注※1
集合関数の引数列がインデクスの第一構成列でない場合,集合関数の高速処理機能は適用されません。
注※2
検索時に使用するインデクスで評価できない条件が指定されている場合,集合関数の高速処理機能は適用されません。
注※3
表の結合検索を行う場合,集合関数の高速処理機能は適用されません。