嘿,反思者!
我有一个我无法弄清楚的查询优化问题。它处理地理位置和时间。我有很多事件,它们都有一个startTime
、endTime
(索引)和location
(索引)。如果我想通过某个尚未发生的位置获取附近正在发生的事件,我可以执行以下两种方法之一:
- 我可以根据结束时间获取并过滤所有尚未发生的事件,然后计算所有这些事件的位置并仅返回具有指定半径的事件。
- 我可以使用该
getNearest()
命令(它将返回所有过期事件),然后过滤掉尚未发生的事件。我对这个方法的一个担心是它getNearest()
指定了返回多少,但我基本上需要在给定半径内的所有这些,所以我不会错过任何尚未发生的事件。
我只是不确定如何找出最快/最有效的查询。
对我来说最好的选择似乎是过滤并获取所有尚未发生的事件,然后使用 getNearest() 来利用索引。但我可以在过滤集上调用最近的获取。请帮忙!?!?!