重新做网站,天天爱天天做网站,wordpress插件出错,做收费类网站站长距离 SQLite 3.48.0 发布不到一个月#xff0c;SQLite 开发团队于 2025 年 2 月 6 日发布了 SQLite 3.49.0 版本。这更新速度的确让人感动#xff0c;那么这个版本又有哪些更新呢#xff1f;
查询优化器
新版本改进了自动索引#xff08;query-time index#xff09;优化…距离 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(12, 12, 22, 22);
22sqlite select iif(13, 13, 23, 23, 33);
33sqlite select iif(13, 13, 23, 23);
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 以来的问题修复。