0

有两个空格,分别命名为 egCompanyCars。空间Company具有公司 id(主索引)和地理位置(点)字段(辅助索引)。空间Cars有汽车(主要索引)和公司(可以租用这辆车的所有公司的数组)。我需要在可以租用特定汽车的指定矩形中获得前 10 家公司。实现这一目标的最佳解决方案是什么(如果我可以这么说)?

在这里,我需要结合空间和非空间索引以获得结果。我的搜索计划是查找汽车元组并获取所有公司(可能有 1000 个),然后在另一个空间中过滤指定矩形内的 10 个。

我的用例与此类似(不是租车用例),但所有逻辑都是相同的。将有比汽车更多的公司(数百万公司和 300-500k 的汽车)。如何优化我的计划以获取这些信息、使用哪些索引等?select如您所见, one 需要有空间和非空间条件。

4

1 回答 1

0

我认为此类索引的最佳策略是将您的汽车映射到另一个维度中的点,彼此相距足够远。例如,如果您的典型搜索范围在几平方公里内,请确保每辆车的“坐标”距离最近的邻居汽车至少几十公里。然后就可以使用我们的多维RTREE索引进行搜索了。

于 2016-05-05T08:31:20.233 回答