Spatial and Graphでは、空間問合せおよび空間結合を解決するために、2層問合せモデルを使用します。2層問合せとは、問合せの解決のために実行される2種類の別々の処理を指します。両方を組み合せた処理が実行されると、完全一致の結果セットが戻されます。
この2つの処理を、1次 および2次フィルタ処理と呼びます。
1次フィルタを使用すると、候補レコードを高速に選択した後で、その結果セットを2次フィルタに渡すことができます。1次フィルタでは、ジオメトリの近似値を比較して計算の複雑さを軽減させるため、これは低コスト化のためのフィルタであるといえます。1次フィルタでは、ジオメトリの近似値を比較するため、完全一致の結果セットのスーパーセットが戻されます。
2次フィルタでは、1次フィルタの結果であるジオメトリが、完全一致幾何学計算によって処理されます。2次フィルタによって、空間問合せに対する完全一致の回答が得られます。2次フィルタ処理は、計算が複雑であるという点では高コストですが、データ・セット全体ではなく、1次フィルタから渡された結果セットのみに限定して処理されます。
図1-2に、1次フィルタと2次フィルタの関係を示します。
図1-2に示すように、大量入力データセットに対する1次フィルタ処理は、少数の候補セットを生成します。この候補セットには、少なくとも完全一致の結果セットとそれ以上のレコードが含まれます。少数の候補セットに対する2次フィルタ処理では、完全一致の結果セットを生成します。
Spatial and Graphでは、1次フィルタ機能を実行するために空間索引を使用します。Spatial and Graphでは、1次フィルタと2次フィルタを常に両方とも使用する必要はありません。1次フィルタを使用するのみで十分な場合もあります。たとえば、マップ・アプリケーションのズーム機能では、可視部分の境界を表現する矩形に重なるデータを問い合せます。1次フィルタを使用すると、問合せのスーパーセットが高速に戻されます。その後マップ・アプリケーションは、クリッピング・ルーチンを適用することによって、ターゲット領域を表示します。
1次フィルタの目的は、データのサブセットを高速に作成し、2次フィルタでの処理の負荷を軽減させることです。そのため1次フィルタでは、できるだけ効率的に(選択的かつ高速に)処理する必要があります。これは、データの空間索引の特性に左右されます。
空間データの問合せの詳細は、「空間データの問合せ」を参照してください。