即使使用事务,SQLite插入也会变慢

Lui*_*jia 6 database sqlite performance android transactions

即使对于事务,我也遇到了sqlite插入性能问题.我的Android应用程序从Web服务接收大约23.000行,我必须将它们插入到单个表中.

对Web服务进行分区,以便在每次向WS发出请求时收到大约2000行,并在事务中包装2000个插入.完成这些插入后,我将新请求发送到WS并再次使用新事务处理新的2000行.

一开始它工作正常.它每秒执行大量插入操作.但随着时间的推移变得越来越慢,最终每秒有4或3次插入,直到完成23000行.

表的大小有问题吗?当它变大时,插入变慢了?有没有办法改善大量数据的性能?

谢谢你的帮助.

小智 1

在“如何提高 SQLite 的性能?”这个问题中有一个关于 SQLite 性能的优秀主题。这非常好。如果您还没有使用准备好的语句,我至少会选择它们。

然而,当您使用 Android 时,我猜测您可能会遇到写入闪存的某些 I/O 瓶颈。尝试在不同制造商的几个不同设备上运行代码,看看是否存在任何极端变化。