SQL Serverデータベースに多数の写真(約1,000万枚)があり、地理座標列はNULLまたはNOT NULL(マップに配置または配置されていない)にすることができます。
また、この地理情報に空間インデックスを作成しました。
現在、特定のポリゴン内のすべての写真を選択しようとしています。
地図上にない写真を保存する方法は2つあります。
マップ上にないすべての写真の地理的位置にNULLを割り当てると、そのようなクエリのパフォーマンスが遅すぎます(私が理解していないように、空間インデックスはNULL列ではまったく機能しません)。
POINT(0 0)
地図上にないすべての写真の地理的位置に割り当てると、このゼロ点の場合を除いて、パフォーマンスは良好POINT(0 0)
です。また、そのようなリクエストは間違った写真を返します(それらは地図上に存在しません)。
どうすればこれらの問題を克服できますか?
NULLまたはNOTNULLのビットを含む列を追加し、2つの列(この列と地理情報)からインデックスを作成する必要がありますか?
UPDATE 2つの列からインデックスを作成しようとしましたが、空間インデックスには地理情報を含む1つの列しか含まれていないため、不可能です(MSDN)。