Small. Fast. Reliable.
Choose any three.

SQLite版本3.3.14于2007-04-02

  1. 修复了一个错误(票号2273),当使用IN运算符使用两列索引的一个术语并且IN运算符的右侧包含NULL时,该错误可能导致段错误。
  2. 添加了一种用于确定基础媒体的扇区大小的新的OS接口方法:sqlite3OsSectorSize()。
  3. INSERT INTO table1 SELECT * FROM table2形式的语句的新算法 更快并且减少了碎片。VACUUM使用这种形式的语句,因此运行速度更快,碎片整理效果更好。
  4. 通过减少磁盘I / O来提高性能:
    1. 删除行时不要阅读溢出链的最后一页-只需将该页面添加到空闲列表即可。
    2. 不要将要删除的页面存储在回滚日志中。
    3. 不要读入从自由列表中提取的页面的(无意义的)内容。
    4. 除非另一个进程更改了基础数据库文件,否则不要刷新页面高速缓存(从而避免重新填充高速缓存)。
    5. 在以独占访问方式提交事务或提交TEMP数据库时,截断而不是删除回滚日志。
  5. 添加了对使用 “ PRAGMAlocking_mode = EXCLUSIVE”的独占访问模式的支持
  6. 在分页器中的大型缓冲区中使用堆空间而不是堆栈空间-在具有堆栈空间限制的嵌入式平台上很有用。
  7. 添加一个生成文件目标“ sqlite3.c”,该目标将合并在一起,在单个文件中包含核心SQLite库C代码。
  8. 使用GCC选项“ -fstrict-aliasing”进行编译时,使库正常工作。
  9. 消除了残留的SQLITE_PROTOCOL错误。
  10. 改进了测试范围,修复了其他一些小错误,插入了内存泄漏,对代码进行了重构和/或建议在某些地方推荐,以便于阅读。

一个SQLite的版本的完整列表, 在一个单一的页面和年代都还可以。 SQLite版本控制站点上提供了每个签入的详细历史记录 。