SQL Serversqlite 资料整理(一)

哪些人,哪些公司或软件在用SQLite:

三星’s Symbian,Mozilla,Abobe,谷歌,Ali旺旺,飞信,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
一回插入多行,每行有九千以上字符,SQLite使用工作速度 快于 access
一倍左右 SQLite查询速度相当的慢,甚至快过SQL Server 二零零六 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正规中常用的玩意儿(比如视图、事务、触发器等)就是本来的了,咱前些天就不细说了。明日重中之重聊聊一些有点特色的玩具。

  ◇轻量级
  先说它的第3个特点:轻量级。想必SQLite的撰稿人很尊重那几个特点,连它的Logo都以用的“羽毛”,来显摆它的中度。
SQLite和C/S格局的数据库软件不一样,它是进度内的数据库引擎,因而不设有数据库的客户端和服务器。使用SQLite一般只须要带上它的二个动态库,就能够大饱眼福它的全方位效能。而且十一分动态库的尺码也挺小,3.6.27版本也就几百K

  ◇浅莲红软件
SQLite的此外多个特点是栗褐:它的主导引擎自个儿不借助第1方的软件,使用它也不必要“安装环境”(如:奥莱db等)。所以在配备的时候能够节省不少劳碌。

  SQL Server,◇单一文书
所谓的“单一文件”,正是数据库中兼有的信息(比如表、视图、触发器、等)都包涵在贰个文件内。这一个文件能够copy到此外目录或任何机器上,也照用不误。

  ◇跨平台/可移植性
  假设光协理主流操作系统(Windows,Linux),这就没啥好鼓吹的了。除了主流操作系统,SQLite还帮助了广大微型嵌入式系统,比如Android、Windows
Mobile、Symbin、Palm、VxWorks等,相当于说Samsung,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 在CPAN上有DBD::SQLite,可是自个儿也没用过。

相关文章