详细了解SQLITE 优缺点 性能测试

什么是sqlITE:

sqlite是一个开源免费的数据库,一般用于嵌入系统或者小规模的应用软件开发中,你可以像使用Access一样使用它,你可以免费用于任何应用,包括商业应用,另外,它还支持各种平台和开发工具,这点是某些数据库(比如Access、DBISAM)。


sqlite是一种嵌入式数据库,它跟微软的Access差不多,只是一个.db格式的文件。但是与Access不同的是,它不需要安装任何软件,非常轻巧。很多软件都有用到这个家伙,包括腾讯QQ、迅雷(你在迅雷的安装目录里可以看到有一个sqlite3.dll的文件,就是它了),以及现在大名鼎鼎的android等。sqlite3是它的第三个主要版本。就是sqlite3.0的意思。对了,金山词霸也有用到sqlite,其实太多软件用那玩意儿了。


sqlite的主要优点:

 零配置(Zero Configuration)

sqlite3不用安装,不用配置,不用启动,关闭或者配置数据库实例。当系统崩溃后不用做任何恢复操作,再下次使用数据库的时候自动恢复。

 紧凑(compactness):

  sqlite是被设计成轻量级,自包含的。一个文件一个lib库,你就可以使用关系数据库了,不用任何启动任何系统进程。一般来说,整个sqlITE库小于225KB。

 可移植(Portability)

 它是运行在Windows,Linux,BSD,Mac OS X和一些商用Unix系统,比如Sun的Solaris,IBM的AIX,同样,它也可以工作在许多嵌入式操作系统下,比如QNX,VxWorks,Palm OS,Symbin和Windows CE。

  最大特点:采用无数据类型,所以可以保存任何类型的数据,sqlite采用的是动态数据类型,会根据存入值自动判断。sqlite具有以下五种数据类型:
1.NULL:空值。
2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。
3.REAL:浮点数字,存储为8-byte IEEE浮点数。
4.TEXT:字符串文本。
5.BLOB:二进制对象。
但同样的,这样的做法会导致在插入和修改时,要花去更多的时间。

sqlITE的缺点:

1:sqlITE不可储存过多的数据库,它的性能发挥最好只能在存放较小的数据量情况下。不要把它当做MysqL甚至ORACLE来使用。它只是一个200K的数据库

2:sqlite3不像MysqL那样使用固定日志文件,所有使用insert、update、delete的运行效率只是一般,sqlite3一个事务,需要调用 4次 fsync()操作,而一般的大型数据库,如MysqL只用到了2次。sqlite3对每个事务都创建一个临时文件来记录日志,这个日志创建、更新和删除竟然使用了3次 fsync()!为什么不用一个固定的日志文件呢?实在难以理解设计者的思路。可能他们把重点放在 "Select"性能上吧。通过阅读sqlite3-3.5.1的源代码,发现作者也试图对这个问题进行修正,可能由于可靠性的原因,一直没有正式公布。

操作数据库有主要有三种途径,

1.根据ANDROID的API编的相关程序

2.sqlITE命令符形式,WINDOWS,和LINUX下都可以。

3.第三方GUI管理程序。

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能