发布于 2014-06-23 08:17:55 | 183 次阅读 | 评论: 0 | 来源: 网友投递
SQLite轻量级关系型数据库
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。
不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。
SQLite 3.8.5 发布,此版本现已提供下载,主要更新内容如下:
Added support for partial sorting by index.
Enhance the query planner so that it always prefers an index that uses a superset of WHERE clause terms relative to some other index.
Improvements to the automerge command of FTS4 to better control the index size for a full-text index that is subject to a large number of updates.
Added the sqlite3_rtree_query_callback() interface to R-Tree extension
Added new URI query parameters "nolock" and "immutable".
Use less memory by not remembering CHECK constraints on read-only database connections.
Enable the OR optimization for WITHOUT ROWID tables.
Render expressions of the form "x IN (?)" (with a single value in the list on the right-hand side of the IN operator) as if they where "x==?", Similarly optimize "x NOT IN (?)"
Add the ".system" and ".once" commands to the command-line shell.
Added the SQLITE_IOCAP_IMMUTABLE bit to the set of bits that can be returned by the xDeviceCharacteristics method of a VFS.
Added the SQLITE_TESTCTRL_BYTEORDER test control.
Bug 修复:
OFFSET clause ignored on queries without a FROM clause. Ticket 07d6a0453d
Assertion fault on queries involving expressions of the form "x IN (?)". Ticket e39d032577.
Incorrect column datatype reported. Ticket a8a0d2996a
Duplicate row returned on a query against a table with more than 16 indices, each on a separate column, and all used via OR-connected constraints. Ticket 10fb063b11
Partial index causes assertion fault on UPDATE OR REPLACE. Ticket 2ea3e9fe63
Crash when calling undocumented SQL function sqlite_rename_parent() with NULL parameters. Ticket 264b970c43
ORDER BY ignored if the query has an identical GROUP BY. Ticket b75a9ca6b0
The group_concat(x,'') SQL function returns NULL instead of an empty string when all inputs are empty strings. Ticket 55746f9e65
Fix a bug in the VDBE code generator that caused crashes when doing an INSERT INTO ... SELECT statement where the number of columns being inserted is larger than the number of columns in the destination table. Ticket e9654505cfd
Fix a problem in CSV import in the command-line shell where if the leftmost field of the first row in the CSV file was both zero bytes in size and unquoted no data would be imported.
Fix a problem in FTS4 where the left-most column that contained the notindexed column name as a prefix was not indexed rather than the column whose name matched exactly.
Fix the sqlite3_db_readonly() interface so that it returns true if the database is read-only due to the file format write version number being too large.
更多内容请看完整更新说明。