Small. Fast. Reliable.
Choose any three.

SQLite版本3.17.0(2017-02-13)

  1. R-Tree扩展将性能提高约25%。
    1. 使用编译器内置程序(例如__builtin_bswap32()或_byteswap_ulong())进行字节交换(如果可用)。
    2. 使用sqlite3_blob键/值访问对象而不是SQL从R-Tree节点中拉出内容
    3. 其他杂项增强功能,例如循环展开。
  2. 添加SQLITE_DEFAULT_LOOKASIDE编译时选项。
  3. 将默认后备 大小从512,125增加到1200,100,因为这可以提供更好的性能,同时每个连接仅增加56KB的额外内存。内存敏感的应用程序可以在编译时,启动时或运行时恢复旧的默认设置。
  4. 如果可用,请使用编译器内置的__builtin_sub_overflow(),__ builtin_add_overflow()和__builtin_mul_overflow()。(使用SQLITE_DISABLE_INTRINSIC编译时选项可以省略所有编译器内置函数。)
  5. 添加了SQLITE_ENABLE_NULL_TRIM编译时选项,该选项可能导致某些应用程序的数据库文件小得多,并有可能与旧版本的SQLite不兼容。
  6. SQLITE_DEFAULT_PCACHE_INITSZ从100更改为20,以提高性能。
  7. 添加了SQLITE_UINT64_TYPE编译时选项,以类似于SQLITE_INT64_TYPE。
  8. 一次执行而不是两次执行一些UPDATE操作。
  9. 增强会话扩展以支持WITHOUT ROWID 表。
  10. 从具有成千上万行的多行VALUES子句创建视图时,修复了性能问题和潜在的堆栈溢出。
  11. 添加了sha1.c 扩展名。
  12. 命令行外壳中,增强“ .mode”命令,以使其恢复模式“ line”,“ list”,“ column”和“ tcl”的默认列和行分隔符。
  13. 增强SQLITE_DIRECT_OVERFLOW_READ选项,以便在读取的页面不在WAL文件中时,它可以在WAL模式下工作。
  14. 增强 Lemon解析器生成器, 以便它可以将解析器对象存储为堆栈变量,而不是从堆中分配空间,并在合并中利用该增强功能。
  15. 其他性能改进。减少6.5%的CPU周期

    Bug修复:

  16. 如果LEFT JOIN的ON子句引用ON子句右侧的表,则会引发错误。这与PostgreSQL的行为相同。以前,SQLite默默地将LEFT JOIN转换为INNER JOIN。修复票证 25e335f802dd
  17. 对自动索引的列使用正确的相似性。票证 7ffd1ca1d2ad4ec
  18. 确保sqlite3_blob_reopen()接口可以正确处理短行。修复票证 e6e962d6b0f06f46e

    散列:

  19. SQLITE_SOURCE_ID:“ 2017-02-13 16:02:40 ada05cfa86ad7f5645450ac7a2a21c9aa6e57d2c”
  20. sqlite3.c的SHA1:cc7d708bb073c44102a59ed63ce6142da1f174d1

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