iis服务器助手广告
返回顶部
首页 > 资讯 > 操作系统 >SQLite 3.43.0 发布,又有啥新功能?
  • 635
分享到

SQLite 3.43.0 发布,又有啥新功能?

sqlite数据库 2023-08-30 10:08:18 635人浏览 独家记忆
摘要

SQLite 开发团队于 2023 年 08 月 24 日发布了 SQLite 3.43.0 版本。本文给大家分析一下该版本的更新。 全文索引 sqlite 3.43.0 增加了 Contentless-Delete FTS5 索引。这是一

SQLite 开发团队于 2023 年 08 月 24 日发布了 SQLite 3.43.0 版本。本文给大家分析一下该版本的更新。

全文索引

sqlite 3.43.0 增加了 Contentless-Delete FTS5 索引。这是一种 FTS5 全文索引的变种,不存储被索引的内容,同时支持数据的删除操作。

例如:

CREATE VIRTUAL TABLE f1 USING fts5(a, b, c, content='', contentless_delete=1);

Contentless-delete 表与 Contentless 表的区别在于:

  • Contentless-delete 表支持 DELETE 以及 INSERT OR REPLACE INTO 语句;
  • Contentless-delete 表支持 UPDATE 语句,前提是所有用户定义的字段都指定了新的数据;
  • Contentless-delete 表不支持 FTS5 删除命令

例如:

-- 支持以下 UPDATE 语句UPDATE f1 SET a=?, b=?, c=? WHERE rowid=?;-- 不支持以下 UPDATE 语句,因为字段 c 没有指定新的数据UPDATE f1 SET a=?, b=? WHERE rowid=?;

除非存在旧版本的后向兼容需求,推荐使用 Contentless-delete 表。

日期时间函数

新版本增强了日期时间相关的函数。首先是增加了“±YYYY-MM-DD HH:MM:SS.SSS”形式的时间偏移量,例如:

select date('2023-01-01', '+1000-01-01');3023-02-02

其次,新版本增加了 timediff(A, B) 函数,计算从时间 B 到达时间 A 所需的时间。例如:

select timediff('2023-06-01', '2023-01-01');+0000-05-00 00:00:00.000

timediff() 函数返回的格式是字符串,方便阅读。如果想要返回精确的时间差(天数、秒数等),可以使用两个 julianday() 或 unixepoch() 函数相减。

字符串函数

SQLite 3.43.0 增加了一个 octet_length(X) 字符串函数,用于返回字符串 X 占用的字节数。例如:

select octet_length('Hello');5select octet_length('你好');6

octet_length(X) 以字节为单位,而不是字符为单位。因此,不同数据库字符集可能返回不同的长度。

C 语言接口

SQLite 3.43.0 新增了一个 sqlite3_stmt_explain(S,E) api,用于改变预编译语句的 EXPLaiN 设置。

如果参数 E 设置为 0,S 就是一个普通的预编译语句;如果 E 设置为 1,S 就变成一个以 EXPLAIN 开始的 SQL 语句;如果E 设置为 2,S 就变成一个以 EXPLAIN QUERY PLAN 开始的 SQL 语句。

查询优化

查询优化器增强包括:

  • LEFT JOIN 强度削减优化扩展至 RIGHT JOIN 以及 FULL JOIN,并且重命名为 OUTER JOIN 强度消减优化。
  • 改进了 OUTER JOIN 强度消减优化使用的理论证明器,减少了假阴性的情况。

Decimal 扩展

新版本增强了与 decimal 扩展相关的内容:

  • 新增函数 decimal_pow2(N),返回 2.0 的 N 次方,N 为 -2000 到 +2000 之间的整数;
  • 新增函数 decimal_exp(X),以科学计数法形式(e+NN)返回 X 的十进制数字;
  • 对于浮点数 X,decimal(X) 函数将会返回完全扩展的精确数字。

例如:

select decimal_pow2(10);+1.024e+03select decimal_exp(12.3);+1.2300000000000000710542735760100185871124267578125e+01select decimal(12.3);12.300000000000000710542735760100185871124267578125

JSON 性能

某些情况下,对于大型 JSON 字符串的处理性能获得翻倍提升。

来源地址:https://blog.csdn.net/horses/article/details/132535127

--结束END--

本文标题: SQLite 3.43.0 发布,又有啥新功能?

本文链接: https://www.lsjlt.com/news/382532.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQLite 3.43.0 发布,又有啥新功能?
    SQLite 开发团队于 2023 年 08 月 24 日发布了 SQLite 3.43.0 版本。本文给大家分析一下该版本的更新。 全文索引 SQLite 3.43.0 增加了 Contentless-Delete FTS5 索引。这是一...
    99+
    2023-08-30
    sqlite 数据库
  • WebStorm发布2021.3更新了哪些新功能
    这篇文章主要讲解了“WebStorm发布2021.3更新了哪些新功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WebStorm发布2021.3更新了哪些新功能”吧!新功能和改进分为以下几...
    99+
    2023-06-21
  • WebStorm 发布2021.3重大更新新功能介绍
    ​2021年度最后一次重大更新WebStorm 2021.3来了!此更新充满了期待已久的增强功能,包括对远程开发的支持、改进的 HTML 完成、重新设计的 Deno 集成等。需要下载...
    99+
    2024-04-02
  • Groovy 1.7.3发布值得关注的新功能有哪些
    小编给大家分享一下Groovy 1.7.3发布值得关注的新功能有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!基于JVM的新型编程语言Groovy近日发布了1.7.3版本,在Groovy的一系列版本一直都被51CTO所...
    99+
    2023-06-17
  • GNOME 2.30发布的新功能是什么
    GNOME 2.30发布的新功能是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。GNOME 开发团队已发布 GNOME 2.30 正式版本。GNOME 2....
    99+
    2023-06-16
  • 商业PHP开发工具PhpStorm 2.0发布的新功能有哪些
    本篇文章为大家展示了商业PHP开发工具PhpStorm 2.0发布的新功能有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PhpStorm 是 JetBrain...
    99+
    2024-04-02
  • IntelliJ IDEA 2022.2 正式发布新功能体验
    目录01主要更新02用户体验03编辑器04Java05Kotlin06Groovy07安全性08Docker09QA 工具10Scala11其他IntelliJ IDEA 2022....
    99+
    2022-11-13
    IDEA 2022.2 正式发布 IDEA 2022.2 发布
  • PHP 8.3新版本即将发布:全新功能一览
    PHP 8.3 将于 2023 年 11 月 23 日更新。它将添加类型化类常量、一个用于json_validate检查 json 有效负载的新辅助函数以及对 Randomizer 类、读取 ini 配置等的一些小改进。PHP 团队将于本月...
    99+
    2023-11-10
    php
  • 浅谈Vue灰度发布新功能的使用
    目录概述组件级别页面级别方案一 新增入口页面分发方案二 高阶组件方案方案三 动态Router.js引入总结参考什么是灰度发布?百度百科的解释如下。 灰度发布是指在黑与白之间,能够平滑...
    99+
    2024-04-02
  • js如何仿新浪微博消息发布功能
    这篇文章主要介绍了js如何仿新浪微博消息发布功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下<!DOCTYPE ...
    99+
    2024-04-02
  • Apache最新发布的日志IDE,有哪些适用于Java开发者的功能?
    随着互联网的发展,日志分析成为了一个非常重要的领域。而作为日志分析的入口,日志IDE也变得越来越重要。Apache最新发布的日志IDE,是一款全新的工具,它提供了很多适用于Java开发者的功能,下面我们就来详细了解一下。 支持多种日志格...
    99+
    2023-08-09
    日志 ide apache
  • QQ新版本正式发布,带有微信刚更新的功能,不知道大家发现了吗
    QQ新版本正式发布,带有微信刚更新的功能,不知道大家发现了吗 作为一个遗忘QQ很久的技能小酱发现QQ今天更新了,这次我们迎来的是QQ 8.1.3版本,小酱特意重新登陆QQ,尝试了下此次更新的主要内容,然后小...
    99+
    2024-04-02
  • 微软发布Win10预览版9860更新:新增通知中心功能
    微软周二发布了最新的技术预览版Windows10操 微软此次发布的是Windows 10 Build 9860,该版本在系统托盘中加入了“行动中心”(通知中心)功能。该版本曾在9月曝光,提供了有关...
    99+
    2023-06-08
    Win10 通知中心 功能 通知 微软 中心
  • WPS For Linux 6757 社区新版本发布,添加新功能及修复
    基础功能WPS公共新增snap打包格式,支持snap的系统可直接snap install wps-office来安装新增用户反馈功能新增升级提示功能支持中英文语言切换修复跨模块打开云文档时,提示&ldquo;账号已下线,请重新登录&...
    99+
    2023-06-06
  • win10最新版Build 10041发布!包括大量新功能和Bug修复
    微软官方宣布,Windows 10最新测试编译版本Build 10041已经向Fast Ri 该版本仅面向那些已经安装了上一个内测版本的用户,而且只能通过Windows Update在线更新。Slow Ring慢速内测用...
    99+
    2023-06-12
    win10 Build 10041 新功能 最新版 Bug修复
  • 基于PHP和MySQL的新闻发布系统——【功能优化】
    前言 2023年第一篇文章,祝大家在新的一年里“卯”足干劲,在技术上 “兔”飞猛进! 上一篇文章 基于PHP和MySQL的新闻发布系统 给大家介绍了制作一个新闻发布系统的主要功能的实现,在文章的末尾...
    99+
    2023-09-01
    php mysql 数据库 开发语言
  • IntelliJ IDEA 2020.3.3现已发布!新增“受信任项目”功能
    IntelliJ IDEA 2020.3.3的新错误修复程序已发布!您可以使用工具箱应用程序从IDE内部更新到新版本,也可以点击下方链接下载。 idea激活码 下载IntelliJ ...
    99+
    2024-04-02
  • 微软发布最新Win10 Build 9860新功能:Data Sense数据流量统计
    在今日微软发布的最新Windows 10技术预览版Build 9860中,可以看到系统正对使用平板等移动设备的用户更加友好,其中一项新功能为Data Sense功能:可以直观地显示用户使用的数据流量构成,及每个应用的数据...
    99+
    2023-06-08
    微软 Win10 Build9860 数据 新功能 Data Sense Build 9860 流量
  • 红帽公司发布的OpenStack Platform 5有什么功能
    这篇文章主要为大家展示了“红帽公司发布的OpenStack Platform 5有什么功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“红帽公司发布的OpenStack Platform 5有什...
    99+
    2023-06-16
  • 信息发布小程序都有什么基本功能
    这篇文章主要介绍信息发布小程序都有什么基本功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!随着互联网时代的发展,越来越多的行业很难在现实中获取更多的客户来源了,更多的商家企业选择在网上获取更多客流量,如二手物品专卖...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作