经查阅网上资料:



一、关于数据库简介:

SQLite    主页:http://www.sqlite.org

SQLite诞生于2000年5月,这几年增长势头迅猛无比,目前版本是3.3.8。



SQLite的特点如下:



1、无需安装配置,应用程序只需携带一个动态链接库。



2、非常小巧,For Windows 3.3.8版本的DLL文件才374KB。



3、ACID事务支持,ACID即原子性、一致性、隔离性、和持久性(Atomic、Consistent、Isolated、和 Durable)。



4、数据库文件可以在不同字节顺序的机器间自由的共享,比如可以直接从Windows移植到Linux或MAC。



5、支持数据库大小至2TB。



6、sqlite无疑是最小的一个,单文件程序,只有400k,而它生成的数据库文件也是单文件。它支持大部份SQL92标准,不过遗憾的是不支持外键与存储过程



Firebird 嵌入服务器版(Embedded Server)   主页:http://www.firebirdsql.org

从Interbase开源衍生出的Firebird,充满了勃勃生机。虽然它的体积比前辈Interbase缩小了几十倍,但功能并无阉割。为了体现Firebird短小精悍的特色,开发小组在增加了超级服务器版本之后,又增加了嵌入版本,最新版本为2.0。



Firebird的嵌入版有如下特色:



1、数据库文件与Firebird网络版本完全兼容,差别仅在于连接方式不同,可以实现零成本迁移。

2、数据库文件仅受操作系统的限制,且支持将一个数据库分割成不同文件,突破了操作系统最大文件的限制,提高了IO吞吐量。

3、完全支持SQL92标准,支持大部分SQL-99标准功能。

4、丰富的开发工具支持,绝大部分基于Interbase的组件,可以直接使用于Firebird。

5、支持事务、存储过程、触发器等关系数据库的所有特性。

6、可自己编写扩展函数(UDF)。

7、firebird其实并不是纯粹的嵌入式数据库,embed版只是其众多版本中的一个。不过做的也很小,把几个dll加起来才不到5M,但是它支持绝大部份SQL92与SQL99标准



二、sqlite和FB比,关于损坏问题:

1:突然停电或系统突然重启动导至数据损坏。sqlite对这方面很大程度上避免这个问题方面做得比较好。

2:加密功能,不用担心数据被别人复制到别的地方打开。而FB只要能复制到别的地方,随便可以打开。

3:频烦的插入删除,更新数据,不会导至数据数据库很快增长。FB数据库快速度增长是容易导至数据库损坏的原因。



这三个问题,是导至一个软件是否长期使用时的可靠性问题。

我使用了各种办法想让sqlite数据库出现损坏(在操作数据库时用突然断电,强制杀死进程,重新启动等等),都没有办到。而FB这样折腾一会数据库文件准坏,且无法修复。



三、sqlite和FB比,关于性能问题:

http://www.jbxue.com/db/6334.html

SQLLite操作百万级数据之优化篇

描述:SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很耗时的过程,会极大地影响数据库存取的速度。

描述:

SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很耗时的过程,会极大地影响数据库存取的速度。例如:向数据库中插入100万条数据,在默认的情况下执行相应的操作,就会打开和关闭文件100万次,所以速度当然会很慢。

分析:

在入库和更新过程中按照数据库事务的思想进行设计:SQLite执行入库、更新操作的方式是,语句执行对象句柄调用库函数打开文件、调用函数执行sql语句、关闭文件。这样的执行方式对于数量级别超大的文件的弊端就是每次执行sql语句的时候都要打开文件(假设百万级数量级的数据,就要打开和关闭文件百万次),对于数据库的入库和更新操作时间主要都浪费到了文件的打开和关闭操作上,所以这里增加事务以解决该问题.

解决:

SQLite数据库是支持事务操作的,于是我们就可以通过事务来提高数据库的读写速度。事务的基本原理是:数据库管理系统首先会把要执行的sql语句存储到内存当中,只有当commit()的时候才一次性全部执行所有内存中的数据库。同时,在.NET中对数据的操作还可以采用预编优化的方式来提升性能,这种方式是采用IDbCommand的Prepare方法来进行的。

示例:

以下引用网络上的一个示例数据来说明一下效果

引用地址:http://www.cnblogs.com/Kevin-moon/archive/2008/12/01/1344658.html

A、系统环境

OS:Windows XP Professional Server Pack 3

CPU:AMD K8 3200+(2.2G)

RAM:3G

HD:Seagate 160G IDE 7200RPM

B、代码环境

NET2.0、Access2003、Firebird 2.1.1.17910、SQLite 3.6.3

Firebird Data Provider(FirebirdSql.Data.FirebirdClient.dll, 2.1.0.0)

SQLite Data Provider(System.Data.SQLite, 1.0.60.0)

下是测试数据,仅予参考

测3次平均,无测10W+,因Firebird出现OutMemoryException

无测修改操作,因无需求

依序 1、10、100、1000、10000 条数据,单位 ms

新增操作

1.无预编, 无事务

Access:41、54、195、1610、16187

Firebird:9、19、189、1929、22125

SQLite:3、27、867、5002、53603

2.事务控制

Access:39、50、162、1278、12366

Firebird:11、30、60、587、5904

SQLite:4、4、10、73、739

3.预编译优化

Access:43、50、128、908、9100

Firebird:2、13、128、1322、15954

SQLite:4、26、465、4626、54608

4.预编译+事务控制

Access:42、46、102、676、6355

Firebird:3、4、22、211、2087

SQLite:3、4、8、41、378

查询比较

Access:39、42、40、51、181

Firebird:2、3、15、131、1294

SQLite:1、1、3、16、165

讨论:

Firebird性能不如预期、SQLite性能很好

Access事务支爰不强,但预编启性能很好

SQLite缺省已预编,加上事务控制性能更好

Access查询加排序,数据10W+时性能极差(I/O问题)

单测Firebird 10W+新增操作,性能极差(I/O问题)

10W+数据操作性能多卡在I/O,不过SQLite因规格单纯,所以性能会较强

总结:

1.通过事务一次提交多条SQL语句,以减少SQLLite数据的IO操作,可以有效提升大数据量操作的性能。

2.通过.NET中的预编译优化方式,即采用IDbCommand的Prepare方法来配合事务执行大批量SQL操作,可以进一步优化其性能。

关于SQLite 与 FireBird 利弊分析相关推荐

  1. 计算机考研与就业的利弊分析,考研还是工作?两种选择的利弊分析,让你做出正确选择!...

    原标题:考研还是工作?两种选择的利弊分析,让你做出正确选择! 原标题:考研还是工作?两种选择的利弊分析,让你做出正确选择! 随着2019考研即将落下帷幕,2020考研的学生已经在备考的路上.对于应届考 ...

  2. 计算机考研与就业的利弊分析,考研和就业怎么选择 考研和就业的利弊分析

    考研还是就业怎么选择,随着2020考研即将落下帷幕,2021考研的学生已经在备考的路上.对于应届考生来说,大三下半学期是考研备考的黄金时期.考研还是工作,是大三学生普遍面临的选择,也是让大三学生感到困 ...

  3. 计算机辅助开发方法的优缺点,高校计算机辅助教学应用的利弊分析

    摘 要:随着社会的不断发展,科学技术也在快速的发展过程中,将计算机辅助教学引入传统的教学课程中,提高了教学效果.当然,这并不是对传统教学模式进行否定,传统的教学模式和计算机教学方法各有自己的优点和缺点 ...

  4. 计算机对商务英语的不利之处,商务英语教学中计算机网络利弊分析论文.docx

    商务英语教学中计算机网络利弊分析论文 商务英语教学中计算机网络利弊分析全文如下: 摘要:本文通过分析计算机网络在商务英语中的利与弊,探讨计算机网络在商务英语教学中的作用,指出随着信息技术的发展,计算机 ...

  5. 考研的利弊分析:什么人和专业适合考研?

    什么人和专业适合考研: 比较技术含量的工科专业.医学.法学或者想在学术上发展,或者想做领导管理者. 考研的理由你是为了什么 1.学术追求 对所学专业由入门到入迷,觉得大有继续研究下去的必要,因而考研, ...

  6. 35岁前多用利弊分析,35岁后要有“安全边际”

    点击上方 "程序员小乐"关注公众号, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Everything will pass eventually, bu ...

  7. 选了combobox里的选项后没激发change事件_35岁前多用利弊分析,35岁后要有“安全边际”...

    想冒险,要趁早 1/6.距离糟糕的事情发生,还有多远? 我现在同时在职场和投资两类战线写文章,读者也开始串戏.前几天在我另外一个投资号上,有人问我:如果你把投资理念原则扩大到生活中,你觉得最有启发性的 ...

  8. 博图pro版和adv版区别_笔记本定制版什么意思?笔记本标配版和定制版的区别与利弊分析...

    大家在电商平台上准备选购一台笔记本电脑的时候,例如看中一款型号,但是发现商品选项比较多,除了官方标配版之外,还有定制版,但是不少用户开始疑惑,这笔记本定制版什么意思?下面装机之家晓龙分享一下笔记本标配 ...

  9. 智能手机硬件加速及虚拟内存利弊分析

    智能手机硬件加速及虚拟内存利弊分析 1. debug.sf.hw=0,修改为debug.sf.hw=1,此步骤为打开硬件加速 2. dalvik.vm.heapsize=24m,修改为dalvik.v ...

最新文章

  1. 如何在ImageView中缩放图像以保持纵横比
  2. gcc选项-g与-rdynamic的异同
  3. 互联网1分钟 |1217
  4. 解决element-ui table 表格排列错位问题
  5. Android之解决Gigaset手机不能设置DeviceOwner权限提示already provisioned问题
  6. vue如何引入ant部分组件
  7. MaxCompute在电商场景中如何进行漏斗模型分析
  8. Mongo DB命令简介
  9. ubuntu下安装tftp
  10. unicode字符集和utf-8编码
  11. Proxyee-down – 百度网盘全平台满速下载神器,还带有IDM的全网嗅探功能
  12. 数风流人物,俱在今朝!|2019年度CSDN博客之星TOP10榜单揭晓
  13. 2022-2028年全球及中国红外(IR)传感器行业投资前景分析
  14. TensorFlow 、Caffe等9大人工智能框架对比介绍
  15. requir与include的区别
  16. 漏洞复现-OpenSSL
  17. 机械继电器和固态继电器_角度继电器
  18. 3D电影、游戏角色是怎么制作的?
  19. 看,这是我们领导说的
  20. java基于springboot的民宿管理平台

热门文章

  1. 游戏素材网站资源共享与下载
  2. 超分论文笔记2020CVPR视频超分:Zooming Slow-Mo- VSR with Temporal Group Attention-TDAN
  3. qt5报错Installed Qt WebEngine locales directory not found at location
  4. CCRC信息安全服务资质八大认证类别
  5. R语言做Scheirer–Ray–Hare检验
  6. 计算机游戏与动漫设计大赛,西安综合职业中等专业学校举办计算机动漫与游戏制作专业技能竞赛及作品展示活动...
  7. SE-Net Squeeze-and-Excitation Networks 压缩并激活
  8. vce数学考试能用计算机,VCE课程资深数学老师Richard WANG:我的VCE数学教学心得体会...
  9. windows中tomcat查看和杀死进程
  10. 浙江农林大学python平时分_浙江农林大学学生专业分流和转专业实施细则(2017级开始执行)...