地理空間単一テーブル述部で構成されている場合、最適化ルーチンは、地理空間インデックスがあればこれを地理空間データへのアクセス パスに成り得ると評価します。このような場合、このインデックスにより、データへのアクセスと問合せの実行速度が大幅に向上します。サポートされている単一テーブル述部(距離メソッドST_DistanceとST_3DDistanceを除く) は、次のいずれかの形式を使用します。
SELECT a, b FROM TableName WHERE TableName.GeoCol.SupportedGeoMethod(GeospatialLiteralExpression)=1または
SELECT a, b FROM TableName WHERE GeospatialLiteralExpression.SupportedGeoMethod(TableName.GeoCol) = 1
単一テーブル述部とみなすには、式の結果が1(true)になるように設定する必要があります。
またはSELECT a, b, FROM TableName WHERE TableName.GeoCol IS NULL
単一テーブルの距離述部は、ST_DistanceメソッドおよびST_3DDistanceメソッドを使用するものです。次のいずれかの形式を使用できます。
SELECT a, b FROM TableName WHERE TableName.GeoCol. SupportedGeoDistanceMethod(GeospatialLiteralExpression) < DistanceLiteralまたは
SELECT a, b FROM TableName WHERE GeospatialLiteralExpression. SupportedGeoDistanceMethod(TableName.GeoCol) < DistanceLiteralこれらの述部を形成するために、<または<=演算子のいずれかを使用できます。
構文要素 | 説明 |
---|---|
TableName | 地理空間データ列を含むテーブル。 |
GeoCol | ST_GEOMETRYタイプの1つとして定義された地理空間データ列。 |
SupportedGeoMethod | ST_DistanceとST_3DDistanceを除く、上記の地理空間メソッドの1つ。 |
SupportedGeoDistanceMethod | ST_DistanceまたはST_3DDistanceのいずれか。 |
GeospatialLiteralExpression | 地理空間リテラル値に織り込み(簡略化)できる任意の地理空間文字式。 |
DistanceLiteral | 距離を表わす浮動小数点値。 |