在android中的sqlite中插入5000条记录

时间:2014-10-21 01:15:59

标签: android sqlite

我一直在使用不同的方式将5000条记录插入到sqlite中,就像使用execSql& insert对象和已编译语句的SQLiteDatabase方法。在所有情况下,插入(实际插入或替换)都是在单个事务中完成的。

使用编译语句时,5000条记录的平均插入时间约为3000毫秒。在insert()方法的情况下,平均时间在4500毫秒左右徘徊,对于execSql(),它大约是5000毫秒。

我期待sqlite快得多。在official website中,据说台式计算机平均每秒可处理50,000次插入(在事务中)。尽管我使用的测试设备并不是特别强大的(Galaxy S3 mini),但我预计SSD存储可以抵消任何缺点并提供每秒约20,000个插入。唉!!似乎并非如此。

我做错了什么,或者这是可以从移动设备中获得的最大性能?

编辑1

所有记录都有14列,它们是文本和文本的混合。数字(大多数是uuids或url)

1 个答案:

答案 0 :(得分:-1)

如果我没记错的话,插入操作需要花费很多时间。 也许尝试并发数据库事务并不是一个糟糕的选择。这就是我之前写的:

                    db.beginTransaction();
                    while (...) {
                        db.execSQL(...));
                    }
                    db.setTransactionSuccessful();
                    db.endTransaction();