幾何学的形状をデータベースに保存する必要があるアプリケーションを設計しています。データベース管理システムをまだ選択していません。
私のアプリケーションでは、すべてのデータベース クエリが入力としてバウンディング ボックスを持ち、出力としてそのデータベース内のすべての形状が必要です。この種のアプリケーションには、空間インデックスを持つデータベースが使用されることを知っています。しかし、私のアプリケーションでは、「x/y の近くにあるオブジェクトをくれ」というタイプのクエリや、GIS アプリケーションで役立つその他のより複雑なクエリはありません。
空間インデックスのないデータベースを計画しており、クエリは次のようになります。
SELECT * FROM shapes WHERE x < max_x AND x > min_x AND y < max_y AND y > min_y
また、列およびに索引を付けます。私が見る限り、空間インデックスを備えたデータベースは実際には必要ありませんが、私のアプリケーションはその種のアプリケーションに近いものです。x (double)
y (double)
また、クエリを近くに置きたい場合でも、そのポイントの周りに十分な大きさのバウンディング ボックスを作成できます。それとも、これはパフォーマンスの低下につながりますか?
空間データベースは本当に必要ですか? また、空間インデックスが必要になるのはいつですか?
EDIT: 検索クエリは、実際には上で書いたものよりも少し高度になります。これは、幾何学的形状を扱うため、ボックスの内側にあるか、ボックスに干渉する複数の形状(バウンディングボックス付き)を返すバウンディングボックスを入力しますクエリで。しかし、すべての良い答えを読んだ後でも、空間インデックスなしでこれを行うことができると思います。