gpt4 book ai didi

android - 在 Android SQLite 数据库中存储值的最快方法?

转载 作者:搜寻专家 更新时间:2023-11-01 08:10:37 24 4
gpt4 key购买 nike

我需要将 10 个传感器的同步读数以大约 100Hz 的频率存储到 SQLite 数据库中。这意味着我需要每秒将大约 1000 个读数存储到数据库中。

我已经尝试将数据库插入方法放在一个在其自己的进程中运行的服务中,但我只能收集大约 3.5 秒的数据。我认为 Service 在那一点上被杀死了。

我没有使用数据库事务来插入数据。只是个别调用 INSERT INTO... 使用事务至关重要吗?

是否有必要在单独的进程中运行数据库插入?我可以在主进程之外的新线程中运行它们吗?

如果需要,我可以提供代码。

最佳答案

您需要使用事务,并通过在同一个事务中执行多个插入来“分块”您的请求。您必须考虑插入的数量,但我将从每笔交易 1000 次插入开始,然后从那里进行调整。

如果您想一次插入一条记录,事务会非常慢。这样做的原因是 SQLite 在完成事务之前等待数据写入磁盘,因此必须等待磁盘盘片完全旋转,在此期间磁盘基本上处于非 Activity 状态。

在 7200 RPM 硬盘驱动器上,这实际上将事务限制为每秒 60 次。

http://www.sqlite.org/faq.html#q19

关于android - 在 Android SQLite 数据库中存储值的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9985073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com