[Android]SQLite版本升级前后数据对比
前言
目前AOSP采用3.22.0版本的SQLite。截至目前,官网释放的最新版为3.31.1。
为了论证3.31.1是否在Android系统上有明显的性能提升,故而有了如下的测试数据;
基本信息
参与测试的SQLite版本:3.22.0(Android Q基线默认) vs3.31.1(截止目前最新版本)
被测机型:MT6761D/2GB/32GB/Android Q
控制变量:在相同代码进度下,仅替换external/sqlite/dist/下的代码后编译软件进行对比测试
测试工具:
Androbench - 通用测试工具,版本5.0.1IOEmulator - 自研测试工具,版本1.1
I. Androbench - SQLite跑分数据
小结:UPDATE操作有2%~3%的稳定提升,其余部分没有明显提升;
II. IOEmulator V1.2测试数据
数据库属性:
单页大小:4KB表数量:5列数:10Auto Vacuum:2 - INCREMENTALSync Mode:2 - FULL
INSERT
数据内容:1数据长度:100数据行数:200数据表数:5数据列数:10
UPDATE
数据内容:0数据长度:100数据行数:200数据表数:5数据列数:10
DELETE
数据行数:200数据表数:5
小结: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的默认配置参数,因此该结果已具有较强说服力了。