是否在只有 29k 行的 Android 上使用 sqlite/spatialite

whether or not to use sqlite/spatialite on Android with only 29k rows

我正在尝试确定是否在只有 29k 行的 Android 上使用 sqlite/spatialite。每次用户移出 100 米(大约每 10 分钟一次)时,我只需要找到离用户最近的位置。我觉得 运行 查询空间数据库而不是循环收集和计算距离可能有点矫枉过正。在这种情况下什么时候使用数据库是多余的?

这并不过分。如果您不希望您的用户讨厌该应用程序,实际上可能需要您将该数据存储在某个地方。

运行 phone 上的一个持续进程不断消耗 phone 的系统资源。消耗资源会耗尽 phone 电池。人们不喜欢耗尽 phone 电池的应用程序。重复执行对 Web 服务端点的许多记录的查询似乎也不是最好的主意,因为它会耗尽用户的数据计划。用户往往也不喜欢这样。

活动内存中的 29K 条记录可能 phone 资源多于您应该考虑使用的资源,除非您正在做一些非常非常特别的事情。

如果您的数据没有改变,那么数据库并不是存储和查询数据的唯一方式。中间某处可能有更好的解决方案,但我不希望消耗不必要的用户数据计划分配 and/or 电池寿命。