sqlite 资料整理(一)

★SQLite技术上的助益和特性

  SQLite是一个轻量级、跨平台的关系型数据库。既然号称关系型数据库,帮助SQL92正规中常用的玩意儿(比如视图、事务、触发器等)就是当然的了,咱今日就不细说了。后天重中之重聊聊一些多少特色的玩具。

  ◇轻量级
  先说它的率先个性状:轻量级。想必SQLite的撰稿人很器重这多少个特点,连它的Logo都是用的“羽毛”,来显摆它的轻度。
SQLite和C/S情势的数据库软件不同,它是过程内的数据库引擎,因而不设有数据库的客户端和服务器。使用SQLite一般只需要带上它的一个动态库,就足以享用它的总体职能。而且异常动态库的尺码也挺小,3.6.27本子也就几百K

  ◇红色软件
SQLite的此外一个特色是绿色:它的主导引擎本身不借助第三方的软件,使用它也不需要“安装环境”(如:Oledb等)。所以在部署的时候可以节约不少劳动。

  ◇单一文件
所谓的“单一文件”,就是数据库中有着的音讯(比如表、视图、触发器、等)都蕴涵在一个文件内。这个文件可以copy到此外目录或任何机器上,也照用不误。

  ◇跨平台/可移植性
  假使光辅助主流操作系统(Windows,Linux),这就没啥好吹嘘的了。除了主流操作系统,SQLite还帮忙了累累微型嵌入式系统,比如Android、Windows
Mobile、Symbin、Palm、VxWorks等,也就是说红米,Android等手机上都可以用。

  ◇内存数据库(in-memory database)
这年头,内存越来越方便,很多常备PC都从头以GB为单位来衡量内存(服务器就更甭提了)。这时候,SQLite的内存数据库特性就越发显得好用。
SQLite的API不区分当前操作的数据库是在内存依旧在文书(对于存储介质是晶莹剔透的)。所以只要您认为磁盘I/O有可能变成瓶颈的话,可以考虑切换为内存模式。切换的时候,操作SQLite的代码基本不用大改,只要在起先时把公文Load到内存,截止时把内存的数据库Dump回文件就OK了。在那种状态下,前边提到的“online
backup
API”就派上用场了,聪明的校友应该明了自己怎么这么期待backup效用了啊?

SQLite vs Access

SQLite官方网站没有与Access相比较的求证,我觉得应该是:SQLite是开源的,单文件,不仅可以运作在Windows上,也足以运行在各样Linux系统上,而他的居多场地跟Access是例外的,他的优势足以站在一个比Access更高的职务,所以并未可比性,但大家老百姓拿Access跟SQLite比,是因为他们混合的地点,关系到我们采用。

掺杂处有:windows系统里web/winform,

在我的测试中
两次插入5行及以上,每行有20来个字符,SQLite使用工作速度远快于access
五遍插入多行,每行有8000上述字符,SQLite使用工作速度 快于 access
一倍左右 SQLite查询速度极快,甚至快过SQL Server 2008 r2
10倍(因为MSSQL索引列不可能超越900个字符,所以varchar(max)无法建索引)
单条数据插入速度比Access略慢,事务插入大量数目,在每行数据量不大时,远快于Access
Access通常出现数据库坏的动静,SQLite听说没有那一个题材。

SQLite优点及适应场合:

轻量级 黑色组件 单一文件 跨平台 查询效能极高 使用工作插入速度极快
协助limit分页
适合查询速度要求较高,内存占用较少的场地,尤其是嵌入式操作系统,如各类手机操作系统,低并发web(99.9%网站是低产出),php环境里原生协助SQLite,asp.net/.net
winform里可以很有益于的采纳System.Data.SQLite

SQLite参考资料:

开源有感连串 之开源数据库有感[新内容充裕版本]:
http://www.cnblogs.com/unruledboy/archive/2005/02/04/98604.html

究竟SQLite有多强?在自己的2台机械上的压力测试:
http://www.cnblogs.com/unruledboy/archive/2005/03/26/sqliteperformance.html

Access和Firebird及SQLite的习性相比较
http://www.cnblogs.com/kevin-moon/archive/2008/12/01/1344658.html
http://www.cnblogs.com/Kevin-moon/archive/2008/11/14/1333285.html

浅谈SQLite——实现与利用:
http://www.cnblogs.com/hustcat/archive/2010/01/27/1657821.html

SQLite数据库是中小站点CMS的一流拔取:
http://www.dbanotes.net/database/sqlite_cms.html

SQLite的局限性:
http://dev.firnow.com/course/7_databases/sql/sqlServer/200838/103309.html

sqlite常见问题:
http://dev.firnow.com/course/7_databases/sql/sqlServer/200838/103310.html

MySQL大战SQLite(PostgreSQL强势乱入):http://obmem.com/?p=493


★编程语言接口

  SQLite匡助很多种语言的编程接口。这对于我这种爱好混用多种编程语言的人来说,是很爽的。下边我大致介绍一下。

  ◇C/C++
  由于SQLite本身是C写的,它自带的API也是C接口的。所以C/C++用起来最直白了。假诺你不喜欢面向过程的C
API风格,可以其余找个C++的包装库。想再度发明轮子的同学,也可以团结包装一个。
◇Java
假如要用Java访问SQLite,能够通过SQLite的JDBC驱动,或者经过专门的SQLite包装库。我个人指出走JDBC形式,万一将来要换数据库,代码就无须大改。
◇Python pysqlite是Python操作SQLite的首选。从Python
2.5起先,它早已被整合到Python的标准库中。看来Python社区抑或蛮喜欢SQLite嘛。
◇.net 对于喜欢.net的同桌,可以通过System.Data.SQLite来访问。
◇Ruby Ruby可以透过SQLite-Ruby操作SQLite数据库,可是我没用过。
◇Perl 在CPAN上有DBD::SQLite,但是自己也没用过。

SQLite GUI图形管理工具:

SQLite
Expert(可选数据库编码,援助原生配置种种参数,软件更新速度极快,一天一个或多少个本子,经试用,发现还有成百上千不健全的地点):
http://www.sqliteexpert.com/download.html

Navicat for
SQLite(导入,导出效能强大,功效实用,操作直观,有些小缺陷,更新速度还行):
http://www.navicat.com/en/download/download.html

SQLite
Administrator(古老,但要么有那些人觉着不错,编码扶助不强,可能乱码):
http://sqliteadmin.orbmu2k.de/

FireFox管理SQLite的插件 SQLite Manager(没Dolly用。看起来不错):
https://addons.mozilla.org/en-US/firefox/addon/5817/

 

SQLite资源地址:

SQLite的官方主页: http://www.sqlite.org/

SQLite中文站: http://www.sqlite.com.cn/

System.Data.SQLite: http://sqlite.phxsoftware.com/

sql学习笔记之 嵌入式数据库(sqlite,firebird)
http://www.cnblogs.com/ljzforever/archive/2010/03/09/1681453.html

何以人,哪些集团或软件在用SQLite:

Nokia’s Symbian,Mozilla,Abobe,Google,阿里旺旺,飞信,Chrome,Fire福克斯(Fox)(Fox)可见SQLite的平安及性能是不会有什么样问题的,详细列表请参见:http://www.sqlite.org/famous.html

网上有关SQLite的介绍一抓一大把,总结起来,他有如下特点:

缺陷与不适于场所:

不吻合并发性高的场馆 如大量insert,update访问,SQL标准帮助不全

★技术上的通病和不足

  前面光聊了特色和亮点,为了避免枪手写软文的疑心,再来说说SQLite的片段毛病。列位看官将来一经想用它,那个老毛病要衡量一下。

  ◇并发访问的锁机制
SQLite在出现(包括多进程和多线程)读写方面的性能一向不太称心满意。数据库可能会被写操作独占,从而致使其他读写操作阻塞或出错。

  ◇SQL标准匡助不全
在它的官方网站上,具体列举了不协助什么SQL92正规。我个人感觉比较难过的是不补助外键约束。

  ◇网络文件系统(以下简称NFS)sqlite,
  有时候需要拜访另外机器上的SQLite数据库文件,就会把数据库文件放置到网络共享目录上。这时候你将要小心了。当SQLite文件放置于NFS时,在出现读写的气象下可能会出问题(比如数据损坏)。原因据说是由于某些NFS的公文锁实现上有Bug。

网站地图xml地图