SQLite 3.35.0 发布,最常用的数据库引擎
SQLite 是遵守 ACID 的关系数据库管理系统,它包含在一个相对小的 C 程序库中。与许多其它数据库管理系统不同,SQLite 不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。
SQLite 实现了大多数 SQL 标准。它使用动态的、弱类型的 SQL 语法。它作为嵌入式数据库,是应用程序,在本地/客户端存储数据的常见选择。
SQLite 3.35.0 正式发布,本次更新内容如下:
- 添加了内置的
SQL math functions()
(需要使用 DSQLITE_ENABLE_MATH_FUNCTIONS 编译时选项。) - 添加了对 ALTER TABLE DROP COLUMN 的支持
- 通用 UPSERT
- 允许按顺序评估多个 ON CONFLICT 子句
- 最后的 ON CONFLICT 子句可以省略冲突目标,但仍然使用 DO UPDATE
- 在 DELETE,INSERT 和 UPDATE 语句上添加对 RETURNING 子句的支持
- 在包含非常大的 TEXT 或 BLOB 值的数据库上运行 VACUUM 时,使用较少的内存。不再需要一次将整个 TEXT 或 BLOB 都保存在内存中
- 指定公用表表达式时,增加对 MATERIALIZED 和 NOT MATERIALIZED 提示的支持。默认行为以前是 NOT MATERIALIZED,但现在已被多次使用的 CTE 更改为 MATERIALIZED
- 该 SQLITE_DBCONFIG_ENABLE_TRIGGER 和 SQLITE_DBCONFIG_ENABLE_VIEW 设置被修改,使它们只控制在主数据库模式或在连接数据库模式的触发和视图,而不是在 TEMP 模式。
- 查询计划器/优化器改进
- 增强了最小/最大优化,使其能更好地与 IN 操作符和上一版本的 OP_SeekScan 优化配合使用
- 尝试将 WHERE 子句中的 EXISTS 操作符当作 IN 操作符来处理,在这种情况下,这是一种有效的转换,有可能提高性能
- 允许 UNION ALL 子查询被扁平化,即使父查询是 join
- 在 WHERE 子句中的 IS NOT NULL 表达式上使用索引(如果合适的话),即使 STAT4 被禁用
- 如果
x
是具有NOT NULL
约束的列,并且不涉及外部连接,那么x IS NULL
或x IS NOT NULL
形式的表达式可能会被转换为简单的 FALSE 或 TRUE - 如果 UPDATE 不修改任何与外键相关联的列,则避免在 UPDATE 语句上检查外键约束
- 允许将 WHERE 项推倒放入包含窗口函数的子查询中,只要 WHERE 项完全由子查询中所有窗口函数的 PARTITION BY 子句中找到的常量和表达式的副本组成
- CLI 增强功能
- 增强
.stats
命令,接受新的参数stmt
和vmstep
,从而分别显示准备语句统计信息和仅显示虚拟机步骤计数 - 增加
.filectrl data_version
命令 - 增强
.once
和.output
命令,如果目标参数以|
开头(表示输出重定向到管道中),那么参数不需要加引号
- 增强
- 错误修正
- 修正当处理一个语法不正确的 SELECT 语句时,一个潜在的 NULL 指针析出,该语句有一个相关的 WHERE 子句和一个
HAVING 0
子句 - 修复了 3.33.0 版本的一个 in-operator 优化中的 bug,这个 bug 可能会导致错误的答案
- 修正 LIKE 运算符中,如果模式以
%
结尾,且有ESCAPE '_'
子句时,会导致错误的答案
- 修正当处理一个语法不正确的 SELECT 语句时,一个潜在的 NULL 指针析出,该语句有一个相关的 WHERE 子句和一个
更多详情可查看:https://sqlite.org/changes.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
KDE Frameworks 5.80.0 发布,支持 HEIF 图像格式
KDE Frameworks 是 Qt 的 83 个附加库,它在成熟的、经过同行评审和测试的库中提供了各种常见的功能,并且具有友好的许可条款。 KDE Frameworks 5.80.0 已正式发布,本次更新内容如下: 新特性: Baloo [balooshow] 始终打印解析后的文档/设备/索引节点 id [balooshow] 允许设备 ID 参数采用十六进制格式 [baloosearch] 允许打印文件 ID [ResultIterator] 提供文件 ID [ResultIterator] 为将来的扩展而进行的重做 不要尝试对 ninja 文件进行索引 不要尝试索引 .swp 文件 Icons 修正和完善 "添加字幕"图标,增加 16px 版本 添加新的文件扫描图标 把系统升级的图标换成更容易识别的样式 KMyMoney:将彩色图标移回操作,并重新命名 kmymoney:为账户增加 32/48px 的图标 kmymoney:为 ledger 增加 32/48px 的图标,并更新 16/22px 图标 删除 tor 浏览器图标 为关键帧操作添加图标 KImageFormats 修...
- 下一篇
程序员笔记 CherryTree 0.99.32 发布
CherryTree 0.99.32 现已发布。CherryTree是一个支持无限层级分类的笔记软件,Python 编写,支持富文本编辑和代码高亮,支持 Linux 和 Windows 平台。数据采用 sqlite 或 XML 存储,支持密码保护,支持从 NoteCase、KeepNote、Knowit、Tomboy、TuxCards、Treepad、Leo 等笔记软件导入数据。 此版本更新内容如下: 改进了精确的垂直滚动位置的恢复 修正迭代查找/替换对话框在第一次点击按钮后消失的问题 更多 node icons 修正在表格单元格中不能以纯文本形式复制的问题 当按下 enter 键时关闭图像调整对话框 在 Windows 操作系统弹出对话框之前修复所有节点上的查找崩溃 改进的对话框,可在列表中选择一个项目,以重点关注上次使用的项目(例如特殊字符) 在 node icons 中,当 node level 达到最大 cherries colors数量后,cherries colors循环 修复了右侧的 tree 无法正确恢复 tree width的问题 user-* themes代码是不可...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长