ちょっと再考!
よくわからないクエリの最適化に関する質問があります。geoLocation と時間を扱います。私はたくさんのイベントを持ってstartTime
いendTime
ますlocation
. まだ発生していない特定の場所の近くで発生しているイベントを取得したい場合は、次の 2 つの方法のいずれかを実行できます。
- 終了時間に基づいて、まだ発生していないすべてのイベントを取得してフィルター処理し、それらすべてのイベントの場所を計算して、指定された半径のイベントのみを返すことができます。
- コマンド (期限切れのすべてのイベントを返す) を使用
getNearest()
して、まだ発生していないイベントを除外できます。このアプローチに関する私の心配の 1 つは、返されるgetNearest()
数を指定することですが、基本的には指定された半径内にすべてが必要なので、まだ発生していないイベントを見逃すことはありません。
このための最速/最も効率的なクエリをどのように把握できるかわかりません。
私にとって最良の選択肢は、まだ発生していないすべてのイベントをフィルタリングして取得し、 getNearest() を使用してインデックスを利用することです。しかし、フィルタリングされたセットで get Nearest を呼び出すことができます。助けてください!?!?!