他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

14.4. アクセスメソッドのサポートルーチン

ストラテジは通常、システムがインデックスを使う方法を判断するために十分な情報ではありません。 実際には、アクセスメソッドに追加のサポートルーチンが必要です。たとえば B-tree アクセスメソッドは、2 つのキーを比較し、より大きいのか、等しいのか、より小さいのかを決定できなければなりません。同様に、 R-tree アクセスメソッドは 四角形の共通部分、和集合、サイズなどを計算できなければなりません。これらの操作は SQL 問い合わせにおける条件内で使用される演算子と は対応しません。

演算子と同じように、演算子クラスにより、与えられたデータ型およびセマンティック解釈に対して、どの特定の関数がこれらの各役割を果たすべきであるかが識別されます。 インデックスアクセスメソッドにより必要な関数のセットが指定され、演算子クラスによりこれらに「サポート関数番号」が代入され、使用すべき正しい関数が識別されます。

Table 14-4 に示されているように、B-tree には単一のサポート関数が必要です。

Table 14-4. B-tree サポート関数

関数サポート番号
2 つのキーを比較し、最初のキーが 2 番目のキーより小さいか、等しいか、大きいかを示す、0 未満、0、もしくは 0 より大きい整数を返します。 1

Table 14-5 に示されているように、ハッシュインデックスにも同様に単一のサポート関数が必要です。

Table 14-5. ハッシュサポート関数

関数サポート番号
キーのハッシュ値を計算1

Table 14-6 に示されているように、R-tree インデックスには 3 つのサポート関数が必要です。

Table 14-6. R-tree サポート関数

関数サポート番号
union (和集合)1
intersection (共通部分)2
size (サイズ)3

Table 14-7 に示されているように、GiST インデックスには 7 つのサポート関数が必要です。

Table 14-7. GiST サポート関数

関数サポート番号
consistent1
union2
compress3
decompress4
penalty5
picksplit6
equal7