当前位置: 首页 > news >正文

不到一个月,SQLite 3.49.0来了

距离 SQLite 3.48.0 发布不到一个月,SQLite 开发团队于 2025 年 2 月 6 日发布了 SQLite 3.49.0 版本。这更新速度的确让人感动,那么这个版本又有哪些更新呢?

查询优化器

新版本改进了自动索引(query-time index)优化,使得针对 WITHOUT ROWID 数据表的查询也可以利用这一优化技术。

改进了复杂星型连接查询的执行计划,解决了 SQLite 论坛上报告的三种不同的性能回归问题。

对于评估成本相同的两个或多个查询计划,选择读取数据量更少(bytes per row)的查询计划。

iif 函数增强

新版本增强了 iif() 函数,可以接受两个以上的任意数量参数。例如:

sqlite> select iif(1=2, '1=2', 2=2, '2=2');
2=2sqlite> select iif(1=3, '1=3', 2=3, '2=3', '3=3');
3=3sqlite> select iif(1=3, '1=3', 2=3, '2=3');

iif(B1,V1,…,BN,VN) 函数的计算逻辑如下,判断条件 B1 是否成立,如果成立则返回 V1;否则,继续判断条件 B2 是否成立,如果成立返回 V2;否则,继续下一个条件判断。如果参数个数为奇数,所有条件都不成立时返回最后一个参数的结果;如果参数个数为偶数,所有条件都不成立时返回 NULL。

session 扩展

新版本增强了 session 扩展插件,支持包含计算列的数据库。

session 扩展插件允许用户记录 SQLite 数据表的更改,并将这些更改打包成“变更集”(changeset)或“补丁集”(patchset)文件。这些文件可以用于将更改应用到具有相同模式和兼容的数据起点的另一个数据库,实现类似版本管理系统中的代码合并功能。

C 语言接口

数据库连接配置接口 sqlite3_db_config() 新增了以下三个选项,默认值都为 on:

  • SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE,启用或者禁用 ATTACH DATABASE 命令创建不存在的数据库;
  • SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE,启用或者禁用 ATTACH DATABASE 命令以写入方式打开数据库;
  • SQLITE_DBCONFIG_ENABLE_COMMENTS,启用或者禁用 SQL 语句中包含备注的功能。

其他

忽略编译时选项 SQLITE_USE_STDIO_FOR_CONSOLE,该选项没有正确实现。同时增加了替代的编译时选项 SQLITE_USE_W32_FOR_CONSOLE_IO,该选项只应用于命令行工具,不会影响 SQLite 内核代码;该选项使用 Win32 API 替代 stdio 作为控制台 I/O,而且只影响 Windows 平台的命令行工具。

全面使用 Autosetup 工具替代 Autotools 进行源代码配置脚本管理。

SQLite 3.48.0 以来的问题修复。

http://www.lryc.cn/news/536458.html

相关文章:

  • Android车机DIY开发之软件篇(十四)编译i.mx8mplus官方kernel
  • Mac上搭建宝塔环境并部署PHP项目
  • 3.3.3 VO-O语法- 语法算子(二)
  • 安装 Ollama 需要哪些步骤?(windows+mac+linux+二进制+Docker)
  • HCIA项目实践--静态路由的综合实验
  • Electron视图进程和主进程通讯
  • Vript-Hard——一个基于高分辨率和详细字幕的视频理解算法
  • react脚手架搭建react项目使用scss
  • Vue.js 状态管理库Pinia
  • 【Stable Diffusion部署至GNU/Linux】安装流程
  • 【C/C++算法】从浅到深学习---滑动窗口(图文兼备 + 源码详解)
  • 计算机毕业设计SpringBoot+Vue.js房源推荐系统 房价预测 房源大数据分析可视化(源码+文档+运行视频+讲解视频)
  • 开源机器人+具身智能 解决方案+AI
  • 通过 VBA 在 Excel 中自动提取拼音首字母
  • 华硕笔记本怎么一键恢复出厂系统_华硕笔记本一键恢复出厂系统教程
  • Ubuntu 如何安装Snipaste截图软件
  • 【离散数学上机】T235,T236
  • 【Android开发】安卓手机APP使用机器学习进行QR二维码识别(完整工程资料源码)
  • 【油猴脚本/Tampermonkey】DeepSeek 服务器繁忙无限重试(20250214优化)
  • 为deepseek搭建本地页面
  • 详解df -h命令
  • 虚拟环境测试部署应用
  • CentOS本机配置为时间源
  • 蓝桥杯备赛 Day14 素数环
  • 小程序canvas2d实现横版全屏和竖版逐字的签名组件(字帖式米字格签名组件)
  • haproxy详解笔记
  • SpringCloud框架下的注册中心比较:Eureka与Consul的实战解析
  • 前端调用串口通信
  • 23、深度学习-自学之路-激活函数relu、tanh、sigmoid、softmax函数的正向传播和反向梯度。
  • 《8天入门Trustzone/TEE/安全架构》