sqlite 资料整理(一)

安人,哪些公司还是软件在为此SQLite:

Nokia’s Symbian,Mozilla,Abobe,Google,阿里旺旺,飞信,Chrome,FireFox
可见SQLite的长治久安以及性能是勿见面发出啊问题之,详细列表请参见:http://www.sqlite.org/famous.html。

网上有关SQLite的牵线一抓一好把,总结起来,他产生如下特点:

SQLite优点及适应场地:

轻量级 绿色组件 单一文件 跨平台 查询效率极高 使用工作插入速度最好快
支持limit分页
适合查询速度要求于高,内存占用比较少之场所,尤其是嵌入式操作系统,如各种手机操作系统,低并发web(99.9%网站是小产出),php环境里原生支持SQLite,asp.net/.net
winform里好挺有益之运System.Data.SQLite

缺点和未适应场地:

莫抱并发性高的场子 如大量insert,update访问,SQL标准支持非都

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资源地址:

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 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(没多使用。看起是):
https://addons.mozilla.org/en-US/firefox/addon/5817/

 

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技术上之长处和特征

  SQLite是一个轻量级、跨平台的涉嫌项目数据库。既然号称关系项目数据库,支持SQL92正式中常用之玩意儿(比如视图、事务、触发器等)就是自的了,咱今天就是不密切说了。今天第一聊聊一些不怎么特色之玩意儿。

  ◇轻量级
  先说其的第一个特点:轻量级。想必SQLite的作者非常讲究这个特点,连其的Logo都是用底“羽毛”,来露出摆它的轻。
SQLite和C/S模式之数据库软件不同,它是过程内之数据库引擎,因此无有数据库的客户端和服务器。使用SQLite一般不过待带及它们的一个动态库,就可以享它的布满功能。而且特别动态库的尺寸为蛮聊,3.6.27本为就是几百K

  ◇绿色软件
SQLite的另外一个特点是绿色:它的为主引擎本身不借助于第三方的软件,使用它为不需“安装环境”(如:Oledb等)。所以在部署之时节能节约不少累。

  ◇单一文件
所谓的“单一文件”,就是数据库中有所的信(比如表、视图、触发器、等)都饱含在一个文书内。这个文件可以copy到其他目录或其他机器上,也照用不误。

  ◇跨平台/可移植性
  如果单单支持主流操作系统(Windows,Linux),那便无啥好鼓吹的了。除了主流操作系统,SQLite还支持了众多小型嵌入式系统,比如Android、Windows
Mobile、Symbin、Palm、VxWorks等,也就是说iPhone,Android等手机及还可以用。

  ◇内存数据库(in-memory database)
这年头,内存越来越便利,很多常见PC都开始因为GB为单位来衡量内存(服务器即再不用提了)。这时候,SQLite的内存数据库特性就是一发显得好用。
SQLite的API不区分当前操作的数据库是于内存还是于文件(对于存储介质是透明底)。所以要是您以为磁盘I/O有或成为瓶颈的话,可以考虑切换为内存方式。切换的时刻,操作SQLite的代码基本不用大改,只要在开经常将公文Load到内存,结束时拿内存的数码库Dump回文件就OK了。在这种情景下,前面提到的“online
backup
API”就派上用场了,聪明的同室应该理解我也啥这么期待backup功能了吧?

★技术上的弱项和不足

  前面光聊了特点与长处,为了避免枪手写软文的存疑,再来说说SQLite的一对欠缺。列位看官将来要想就此她,这些毛病要权衡一下。

  ◇并发访问的锁机制
SQLite于起(包括多进程以及多线程)读写点的性质一直不顶帅。数据库可能会见叫描写操作独占,从而造成其他读写操作阻塞或错。

  ◇SQL标准支持不备
在其的官方网站上,具体列举了不支持什么SQL92专业。我个人感觉比较难过的凡免支持外键约束。

  ◇网络文件系统(以下简称NFS)
  有时候要拜访其它机器及之SQLite数据库文件,就见面管数据库文件放置到网络共享目录及。这时候若将小心了。当SQLite文件放置于NFS时,在出现读写的图景下或会见起问题(比如数据损坏)。原因据说是由于某些NFS的文书锁实现上发Bug。

★编程语言接口

  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 在CPAMySQLN上生DBD::SQLite,不过我啊尚无因此了。

网站地图xml地图