场景:我们有超过 10k+ 行数据,具有纬度和经度的空间属性。我们想排序并获取离我当前位置最近的对象(大约 300 个)。
已完成的工作:创建了 OrmLite 对象表,该表存储 lat 和 long 为双精度的所有行。当前调用 queryForAll 并使用 Comparable 接口(distanceTo)按与当前位置的距离顺序对数据进行排序。
问题:当行数增加到超过 10K+ 时,上述解决方案效率非常低,执行排序操作需要很长时间。
问题:一。有没有办法在 Ormlite 中处理空间数据,甚至将 Android Location 添加为列?湾。我们可以调用提供对象列表的原始查询吗?我更喜欢这种方法,因为排序是在查询自身时进行的。