我们有带有经纬度记录的对象。每个对象也有创建日期。
用户可以从任何地方登录并查看对象。我们需要通过一些特殊的索引来显示对象的排序,该索引是根据对象的新鲜度以及它与当前用户的距离来计算的。
假设我们在纽约和泽西有对象。如果您从 New-York 登录,您应该会在顶部看到 New-Yorks 对象,然后是 Jersey 对象。但尽管如此,非常旧的纽约对象应该低于新球衣对象的结果。
我们可以近似函数 F = < 物体新鲜度(天)> + < 当前用户点到物体位置的距离(km)>
我们使用 PostgreSql 来存储数据,我们真的可以通过这样的函数排序并得到我们需要的东西。问题是我们担心它会很慢,因为我们计划达到 1k-10k 个对象和 100-300 个位置,并且应用程序必须非常快速地返回结果(因为它就像应用程序中最重要的东西)
用户将添加来自不同地方的对象。
您对如何提高此类查询的性能有任何想法吗?