Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー 空間データサポート » 空間データの使用 » 空間データのクイックスタート

 

空間カラムでのインデックスの作成

空間インデックスを作成するときは、他のデータ型のインデックスの作成と同様に、CREATE INDEX 文または テキストインデックス作成ウィザードを使用します。ただし、空間データに対してインデックスを作成する場合は、複数の空間カラムをインデックスに含めないことと、空間カラムをインデックス定義の最後に配置することをおすすめします。

また、空間カラムをインデックスに含めるには、カラムに SRID 制約を付ける必要があります。

空間データにインデックスを作成すると、ジオメトリ間の関係を評価する場合のコストを低減できます。たとえば、販売区域の境界を変更することを検討しており、そのことが既存の顧客に与える影響を判別するとします。提案された販売区域内に存在する顧客を判別するには、ST_Within メソッドを使用して、各顧客の住所を表すポイントと販売区域を表す多角形を比較します。インデックスがない場合、データベースサーバーは、Customer テーブルのすべての住所のポイントを販売区域の多角形に対してテストし、結果で返すかどうか判別します。この操作は、Customer テーブルが大きい場合は高コストになり、販売区域が小さい場合は非効率になります。各顧客の住所のポイントが含まれるインデックスを使用すると、より短時間で結果を返すことができます。販売区域とそれに重なり合う州を関連付ける述部をクエリに追加できる場合、州コードと住所ポイントの両方が含まれるインデックスを使用して、結果をより短時間で取得できることがあります。

空間クエリは、クラスタードインデックスによって効率がよくなることがありますが、テーブルのその他の用途を考慮してから、クラスタードインデックスの使用を決定する必要があります。実行される可能性のあるクエリのタイプを検討およびテストして、クラスタードインデックスによってパフォーマンスが向上するかどうかを判別します。

空間カラムに対してテキストインデックスを作成できますが、通常のインデックスと比較して利点はありません。代わりに、通常のインデックスの使用をおすすめします。

注意

空間カラムにはプライマリーキー、ユニークインデックス、または一意性制約を入れることはできません。

 参照