【发布时间】:2019-04-09 17:34:40
【问题描述】:
我想实现一个应用,它存储来自多个传感器的数据,例如加速度、陀螺仪、环境光和触摸(压力、位置)。保存数据有两种可能。我可以使用 Android 提供的 SQLite 数据库或普通的 CSV 文件。我主要关心的是性能,因为传感器的采样率非常高。
是内置 SQLite 数据库还是 CSV 文件的性能更高?还是有其他提供更好性能的可能性?对于数据库,我可以为每个流使用一个数据库,或者为所有流只使用一个数据库,对于 CSV 文件,我会为每个流使用一个文件。
【问题讨论】:
-
这个库真的很好很高效:realm.io/blog/realm-for-android
-
对于少量数据,CSV 可能会更快,但是随着数据的增长,SQLite 的性能会更好。我肯定会使用数据库。
-
@m0skit0 我认为传感器数据将以例如 20 hz 的频率进行采样,因此数据会快速增长,但每个条目只有一个数字。如果我要使用数据库,您会设置什么事务限制(即在提交事务之前有多少条目)?
-
@machinery 我认为现在不重要,从任何数字开始,例如每秒一次(20 次插入)。如果您发现性能问题,则对其进行调整,但在发现任何性能问题之前不要尝试优化。
标签: android csv android-sqlite text-files