[Android]SQLite版本升级前后数据对比

[Android]SQLite版本升级前后数据对比

前言

目前AOSP采用3.22.0版本的SQLite。截至目前,SQLite.org官网释放的最新版为3.31.1。
为了论证3.31.1是否在Android系统上有明显的性能提升,故而有了如下的测试数据;

基本信息

参与测试的SQLite版本: 3.22.0(Android Q基线默认) vs 3.31.1(截止目前最新版本)

被测机型: MT6761D/2GB/32GB/Android Q

控制变量: 在相同代码进度下,仅替换external/sqlite/dist/下的代码后编译软件进行对比测试

测试工具:

Androbench - 通用测试工具,版本5.0.1

IOEmulator - 自研测试工具,版本1.1

I. Androbench - SQLite跑分数据

SQLite版本Insert(QPS/sec)Update (QPS/sec)Delete (QPS/sec)
3.22.0540.93/3.78665.3/3.07832.14/2.45
3.31.1544.93/3.75682.2/3.0831.29/2.46

小结: UPDATE操作有2%~3%的稳定提升,其余部分没有明显提升;


II. IOEmulator V1.2测试数据

数据库属性:

单页大小:4KB
表数量:5
列数:10
Auto Vacuum:2 - INCREMENTAL
Sync Mode:2 - FULL

INSERT

数据内容:1
数据长度:100
数据行数:200
数据表数:5
数据列数:10
SQLite版本#1(ms)#2(ms)#3(ms)#4(ms)#5(ms)AVG(ms)
3.22.0144314541451144814651452.2
3.31.1142714451446144614391440.6

UPDATE

数据内容:0
数据长度:100
数据行数:200
数据表数:5
数据列数:10
SQLite版本#1(ms)#2(ms)#3(ms)#4(ms)#5(ms)AVG(ms)
3.22.0117011691180118211701174.2
3.31.1117711621166116411681167.4

DELETE

数据行数:200
数据表数:5
SQLite版本#1(ms)#2(ms)#3(ms)#4(ms)#5(ms)AVG(ms)
3.22.0141113971412141013871403.4
3.31.1138713861395139013871389

小结: INSERT/UPDATE有1%不到的提升,DELETE有1%的提升;


总结

从Androbench测试数据来看,最新版(3.31.1)SQLite在update处理速度上有2%以上的提升;
从IOEmulator测试数据来看,最新版(3.31.1)SQLite在insert/update/delete处理速度上有1%左右的提升;

综上,考虑到客观偏差,3.31.1版本的SQLite较3.22.0的提升效果微乎其微,没有强制升级的必要;

其他

有空可以看看其他pragma组合、其他场景下的数据,但是考虑到上述的测试场景是Android Q的默认配置参数,因此该结果已具有较强说服力了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值