2つのスペースがあります。 Company
およびCars
。スペースCompany
には、会社ID(プライマリインデックス)とジオロケーション(ポイント)フィールド(セカンダリインデックス)があります。スペースCars
には車(プライマリインデックス)と会社(この車をレンタルできるすべての会社の配列)があります。特定の車を借りることができる特定の長方形でトップ10の企業を取得する必要があります。これを達成するための最善の解決策は何ですか?Tarantoolの複合SELECT
結果を得るには、空間インデックスと非空間インデックスを組み合わせる必要があります。私の検索計画は、車のタプルを探し、すべての企業(それらの1000があるかもしれない)を取得し、別のスペースで指定された四角形の10をフィルタリングすることです。
私のユースケースはこれに似ています(レンタカーの使用例ではありません)が、すべてのロジックは同じです。自動車よりもはるかに多くの企業が存在します(の企業のとの車の300-500k)。これらの情報を得るために私の計画を最適化する方法、使用するインデックスなど表示されているように、select
には空間的および非空間的条件が1つ必要です。
「指定された矩形内の10の企業のうちのトップ10」 - 会社の「トップ」基準は何ですか?インデックス? –
@VasiliySoshnikov結果セットには何百もの結果があります。長方形の中心に最も近い10-50の位置を返します。 – Aleksandar