查看原文
其他

SQLite 3.34.0发布,世界上使用量最大的数据库引擎

白开水 FOSS Lab 2021-09-10
点击“蓝字”关注我们吧


SQLite 3.34.0 发布了,SQLite 是一个 C 实现的 SQL 数据库引擎,它的特点是小型、快速、自包含、高可靠性和功能齐全。SQLite 嵌入在所有手机和大多数计算机中,也捆绑在为数众多的其它应用中,是世界上使用量最大的数据库引擎。

此版本更新内容包括:
  • 添加了 sqlite3_txn_state() 接口,用于报告数据库连接的当前事务状态。
  • 像 SQL Server 一样,增强递归公用表表达式以支持两个或多个递归术语,因为这有助于使针对图的查询更易于编写和执行。
  • 改进了有关 CHECK 约束失败的错误消息。
  • CLI enhancements:
    • 现在,.read dot-command 除了文件名外还接受管道。
    • 在 .dump dot-command 中添加了 --data-only 和 --nosys 选项。
    • 在 .schema dot-command 中添加了 --nosys 选项。
    • Table name quoting 在 .import dot-command 中可以正确使用。
    • generate_series(START、END、STEP)表值函数扩展现在已经内置到 CLI 中。
    • .databases dot-command 现在显示了由 sqlite3_db_readonly() 和 sqlite3_txn_state() 决定的每个数据库文件的状态。
    • 添加了 --tabs 命令行选项,该选项可设置 .mode tabs
    • 如果无法打开以其参数命名的文件,则 --init 选项将报告错误。--init 选项现在也支持 --bail 选项。
  • Query planner 改进:
    • 改进了运行 DISTINCT 运算符的成本估算。
    • 当使用多列索引执行 UPDATE 或 DELETE 时,如果索引中只有前面的几列对索引查找有用,则要推迟到所有 WHERE 子句约束条件被评估后再做主表查找,以防这些约束条件可以被索引后面未使用的条款覆盖,从而避免不必要的主表查找。
    • 当后面的列受 IN 运算符约束时,新的 OP_SeekScan 操作码可用于提高多列索引查找的性能。
  • 现在,即使一个或多个附加数据库文件是只读的,BEGIN IMMEDIATE 和 BEGIN EXCLUSIVE 命令也可以使用。
  • 增强了 FTS5,以支持 trigram indexes
  • 在有数百个连接都一次访问同一数据库文件的情况下,WAL 模式 locking primitives 的性能得到了改善。
  • 增强了  carray() table-valued 函数以包含一个单参数形式,该形式使用辅助的 sqlite3_carray_bind() 接口进行绑定。
  • 为了与 SQL Server 兼容,现在也可以将 substr() SQL 函数称为“substring()”。
  • syntax diagrams 现在以 Pikchr 脚本的形式实现,并以 SVG 的形式呈现,以提高可读性和便于维护。
更新说明:https://sqlite.org/changes.html 
往期推荐

OpenZFS 2.0.0正式发布,支持平台方面获重大突破!

2020-12-03

IntelliJ IDEA 2020.3 稳定版发布

2020-12-03

OSM——微软开源的轻量级、可扩展的云原生服务网格

2020-12-03


扫码关注最新动态

公众号ID:fosslab


我就知道你“在看”
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存