集合関数の結果をインデクスページから求めることができます。インデクスページだけを参照してデータ件数を求めるため,データ件数を求める処理に掛かるオーバヘッドを削減できます。この機能を集合関数の高速処理機能といいます。
次のようにインデクスを定義した場合を例に,集合関数の指定と集合関数の高速処理機能の適用可否を次の表に示します。
インデクスの定義
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 |