Realm、WCDB与SQLite移动数据库性能对比测试

本文对比测试了SQLite、Realm和WCDB在移动平台的性能,涉及数据插入、查询速度等方面。测试结果显示,WCDB在插入速度上显著优于SQLite和Realm,而查询速度上,三者表现接近。Realm虽然在插入性能上有劣势,但使用简便,支持事务和数据库加密。WCDB由于资料较少,可能存在一些未知问题,但其良好的代码体验和腾讯的支持使其颇具潜力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据库介绍

        SQLite 3 比较常见不予赘述。

        Realm 是由Y Combinator孵化的创业团队开源出来的一款可以用于iOS(同样适用于Swift&Objective-C)和Android的跨平台移动数据库。目前最新版是Realm 2.0.2,支持的平台包括Java,Objective-C,Swift,React Native,Xamarin。

        优势:兼顾iOS和Android两个平台;简单易用,学习成本低;提供了一个轻量级的数据库查看工具,开发者可以查看数据库当中的内容,执行简单的插入和删除数据的操作。

        Realm支持事务,满足ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

        WCDB 是微信推出的一个高效、完整、易用的移动数据库框架,基于SQLCipher(an SQLite extension that provides 256 bit AES encryption of database files.),支持iOS, macOS和Android。易用,支持事务,可加密、损坏修复。

 

二、测试数据表结构

Student表。

字段:ID、name、age、money。

ID Name Age Money
主键 姓名 年龄 存款(建索引)


其中age为0~100随机数字,money为每一万条数据中,0~10000各个数字只出现一次。

 

三、测试数据

        对于以下测试数据,只是给出一次测试后的具体数值供参考,经过反复测试后的,基本都在这个时间量级上。

        这里测试用的是纯SQLite,没有用FMDB。

  • SQLite3:

        9万条数据基础上连续单条插入一万条数据耗时:1462ms。

        已经建立索引,需要注意的是,如果是检索有大量重复数据的字段,不适合建立索引,反而会导致检索速度变慢,因为扫描索引节点的速度比全表扫描要慢。比如当我对age这个经常重复的数据建立索引再对其检索后,反而比不建立索引查询要慢一倍多。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值