下面介绍SQLite的一些扩展模块。本文整理自http://sqlite.org/docs.html。 1、异步I/O模式 通常,当SQLite写一个数据库文件时,会等待,直到写操作完成,然后控制返回到调用程序。相比于CPU操作,写文件系统是非常耗时的,这是一个性能瓶颈。异步I/O后端是SQLite的一个扩展模块,允许SQLite使用一个独立的后台线程来执行所有的写请求。虽然这...
2013-01-28 13:34
阅读(1888) 评论(0) 本文整理自http://sqlite.org/malloc.html。 SQLite通过动态内存分配来获取各种对象(例如数据库连接和SQL预处理语句)所需内存、建立数据库文件的内存Cache、以及保存查询结果。我们做了很多努力来让SQLite的动态内存分配子系统可靠、可预测、健壮并且高效。本文概述SQLite的动态内存分配,软件开发人员在使用SQLite时可以据此获得最佳性能。...
2012-12-04 22:03
阅读(1497) 评论(0) 英文原文在这里:http://sqlite.org/atomiccommit.html。 本来想翻译一下,后来发现网上已经有翻译版本了,可参考http://hi.baidu.com/huangqishang/item/30d3a00998df8f18ebfe38b6。这里就不用重复劳动了。其实大部分内容在“锁和并发控制”这一节中已经讲到了。...
2012-11-24 21:14
阅读(731) 评论(0) 本文整理自http://sqlite.org/lockingv3.html。 在SQLite中,锁和并发控制机制都是由pager.c模块负责处理的,用于实现ACID(Atomic, Consistent, Isolated和Durable)特性。在含有数据修改的事务中,该模块将确保或者所有的数据修改全部提交,或者全部回滚。与此同时,该模块还提供了一些磁盘文件的内存Cache功能。...
2012-11-24 21:02
阅读(1422) 评论(0) 1、7种临时文件 内容整理自http://sqlite.org/tempfiles.html。 SQLite的一个不同特性是一个数据库由单个磁盘文件构成。这简化了SQLite的使用,因为移动或备份数据库只要拷贝单个文件即可。这也使得SQLite适合用作应用程序文件格式。但是,当在单个文件中存储一个数据库时,SQLite会在处理数据库的过程中使用许多临时文件。 SQLi...
2012-11-18 18:33
阅读(2278) 评论(0) 本文整理自http://sqlite.org/arch.html。 本文描述SQLite库的体系结构。这些内容对于那些想了解和修改SQLite内部结构的人将会非常有用。在探索前我们先下载源码包sqlite-src-3071400.zip,在其src目录下包含了所有源码文件。注意若要编译SQLite库则下载单一文件版本sqlite-amalgamation-3071400.zip。...
2012-11-18 18:25
阅读(3334) 评论(0) 本文整理自http://sqlite.org/datatype3.html。 许多SQL数据库引擎(除SQLite之外的各种SQL数据库引擎)使用静态、严格的数据类型。对于静态类型,一个值的数据类型由它的容器,即存储这个值的列来决定。SQLite则使用更加通用的动态类型系统。在SQLite中,一个值的数据类型被关联到这个值本身,而不是它的容器。SQLite的动态类型系统向后兼容一般静态类...
2012-11-17 20:11
阅读(1357) 评论(0) 本文整理自http://sqlite.com/cintro.html。 SQLite 3是SQLite一个全新的版本,它虽然是在SQLite 2的代码基础之上开发的,但是使用了和之前的版本不兼容的数据库格式和API。SQLite 3是为了满足以下的需求而开发的: * 支持UTF-16编码 * 用户自定义的文本比较方法 * 可以对BLOBs字段建立索引...
2012-11-17 20:03
阅读(1425) 评论(0) 若要编译SQLite库,需要下载单一文件版本sqlite-amalgamation-3071400.zip。它把sqlite3库的所有源码文件内容放到一个文件sqlite3.c中了(不包含管理工具shell.c),这个文件大概有110000多行,如果除去空白行和注释,则有65000多行的代码!这样做的好处是很容易应用在你的项目中,只需拷贝这一个源文件到你项目中即可。另外,编译器在编译单一的文件时能...
2012-11-11 19:26
阅读(1938) 评论(0) 本文整理自SQLite官网上的文档http://sqlite.org/sitemap.html。 SQLite是遵守ACID的轻型数据库引擎,它包含在一个相对小的C库中。它是D.RichardHipp创建的公有领域项目。SQLite第一个Alpha版本诞生于2000年5月,至今已经有12个年头,当前版本为3.7.14。不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的...
2012-11-11 19:20
阅读(1943) 评论(0)