SQLite:每秒插入1个值还是每分钟插入多个值?

时间:2019-09-20 11:02:26

标签: android sql sqlite

我在移动应用程序中使用SQLite来使用低功耗蓝牙从传感器收集数据。传感器每秒发送一次值。我使用的方法是这样的:接收到新数据后,我将其读取并将其插入数据库中的表中。问题是:我注意到插入1500时应用程序崩溃。我的问题是:

就性能而言,是每秒插入一个值(我今天使用的方法)还是在数组变量中收集60个值然后将它们插入一个事务中更好?

还有其他方法可以优化SQLite的性能吗?我需要使应用程序整天运行。那就是要存储的86400个值

1 个答案:

答案 0 :(得分:1)

从此答案中摘录:

Which is faster: multiple single INSERTs or one multiple-row INSERT?

插入行所需的时间由以下因素决定,其中数字表示近似比例:

  
      
  • 连接:(3)
  •   
  • 将查询发送到服务器:(2)
  •   
  • 解析查询:(2)
  •   
  • 插入行:(1×行大小)
  •   
  • 插入索引:(1×索引数)
  •   
  • 关闭:(1)
  •   

总而言之,每分钟发送一次查询60个条目的查询要比每秒发送一次查询快许多倍。