SQLite和Access,二者都是常用的轻型关系型数据库系统。在DB-Engines的数据库排名中,二者排名都比较靠前,名次也很接近,说明使用两种数据库的人群还都不少,很多朋友在二者之间难以选择。
SQLite:我虽渺小却锋利顽强!
SQLite,是一款轻型的,遵守ACID的关系型数据库管理系统,她包含在一个相对小的C库中。主要为嵌入式应用设计,在很多嵌入式产品中应用广泛,她占用资源非常的低,只需要几百K的内存就够了。
笔者早年用过很多年Access,主要用作本地数据存储,对Access的品性和弊端还算了解。后来毅然决然的换成了SQLite使用至今。作为轻型数据库,SQLite做到了轻如鸿毛却又锋利顽强。
SQLite数据库就是一个文件。由于SQLite本身是C写的,而且体积很小、效率极高,所以,经常被集成到各种应用程序中,目前Android和iOS都将SQLite作为内置数据库。
SQLite支持各种32位和64位体系的硬件平台,也能在Windows、Linux、BSD、Android等软件平台中运行。同时SQLite支持ANSI SQL92中的大多数标准,提供了对子查询、视图、触发器等机制的支持。
下图是SQLite和SQL Server及Acess的性能测试对比:
从上表可看出,SQLite性能碾压Access不在话下!
Access:有微软加持纵然鸡肋应者云集!
Access是由微软发布的轻型关系数据库管理系统。它结合了 MicrosoftJet Database Engine和图形用户界面两项特点,是 Microsoft Office办公系统可选套件之一。
Access既是Office套件,与Excel、Word融合相当好,同时Access支持Visual Basic宏语言,您甚至可以在Access中直接开发简单系统,这算是Access相比SQLite的最大优势。
当然,Access既然是Office套件,如果您想要使用Access环境来管理维护Access,就需要花钱购买了。但如果您在开发的系统中调用Access数据库,配置好调用环境即可,并不一定需要购买Office。
SQLite和Access的优缺点综合对比
下面盘点下二者的优缺点,您就豁然开朗了!
SQLite的优点和缺点:
优点:
1、支持Limit语句,支持数据自动分页
2、支持Insert返回自动递增主键的ID
3、查询性能和效率高
4、支持压缩命令
5、开放源代码,可以内嵌到dll中,发布简单
6、跨平台,数据库具有很强的兼容性
7、支持动态建立数据库功能
8、事务处理
缺点:
1、缺少强劲的免费查询分析器GUI。免费的用过SQLiteStudio,还不错!
Access的优点和缺点
优点:
1、直观的查询分析器GUI,维护简单方便
2、性能一般,但比较成熟和稳定
缺点:
1、不支持Limit命令,分页难做到
2、不支持Insert返回递增的ID
3、并发性能差,最大并发数50,只有一个连接可修改数据
4、不支持压缩数据库命令
5、不支持动态建立数据库
6、不支持跨平台,这是硬伤
通过对比可以得出这样的结论:
SQLite性能碾压Access,但Access有微软加持,虽为鸡肋却获得滋润,看来巨头的支持有多重要!