SQLite 3.46 发布

SQLite 3.46 已发布,这是一个设计为插件库的轻量级 DBMS。 SQLite 代码作为公共域分发,即可以不受限制且免费用于任何目的。 SQLite 开发人员的财务支持由专门创建的联盟提供。

主要变化:

  • 可以在数字中使用分隔符“_”以更直观地表示数字文字(例如,1_234_567)。
  • 添加了 json_pretty() SQL 函数以生成使用块缩进格式化的更具可读性的 JSON 输出。
  • “PRAGMA优化”操作的功能得到了扩展,它优化数据库和所有数据模式以实现最佳查询性能。已经实现了对数据库分析持续时间的自动限制,消除了大型数据库的过多处理时间。添加了新的位掩码“PRAGMA Optimize(0x10000)”以单独检查所有表中的更新。提供对缺少 sqlite_stat1 记录的表的自动重新分析。
  • 添加了对 strftime() SQL 函数的 %G、%g、%U 和 %V 替换的支持。
  • SQL 函数中添加了新的修饰符上限和下限,用于处理日期和时间,以控制对将日期移动一定月数或年数的操作期间出现的不明确日期的处理。如果 SQLite 知道时间已经采用 UTC 或本地时间表示形式,请确保忽略 utc 和本地时间修饰符。
  • 对查询规划器进行了优化。对于 VALUES 部分中包含数千个值的 INSERT 表达式,默认启用“VALUES-as-coroutine”优化,这使得解析此类表达式的速度大约提高一倍,并将内存消耗减少一半。对于“SELECT count(DISTINCT col) FROM …”形式的查询,允许使用索引,即使索引中记录的大小不小于表中记录的大小。用于确定在 SQL 函数的参数中指定常量的情况的逻辑已得到改进。启用下推优化以应用于包含不相关子查询的 WHERE 子句。
  • 处理堆栈溢出的逻辑已更改 - 当检测到堆栈内存不足时,解析器现在尝试从堆中分配额外的内存,而不是显示“解析器堆栈溢出”错误。
  • JSON 允许在 JSON5 字符串文字中指定控制字符。更改了运算符“->”和“->>”的操作逻辑,当右侧的字符串操作数仅包含数字时(类比PostgreSQL,此类操作数现在被作为字符串处理)。
  • DEFAULT 值允许在表列中指定大的十六进制文字。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster