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

这篇具有很好参考价值的文章主要介绍了SQLite 3.43.0 发布,又有啥新功能?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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');
5

select 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+03

select decimal_exp(12.3);
+1.2300000000000000710542735760100185871124267578125e+01

select decimal(12.3);
12.300000000000000710542735760100185871124267578125

JSON 性能

某些情况下,对于大型 JSON 字符串的处理性能获得翻倍提升。文章来源地址https://www.toymoban.com/news/detail-682098.html

到了这里,关于SQLite 3.43.0 发布,又有啥新功能?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker Desktop 4.15 正式发布,这里是新功能

    Docker Desktop 4.15现在可用于所有平台:Linux、Windows 和 macOS。它附带 Docker Compose v2.13.0、Containerd v1.6.10 和 Docker Hub Tool v0.4.5 2 VirtioFS 正式发布 新的快速搜索功能 在任何 IDE 中使用开发环境 扩展下的新构建选项卡 能够使用 containerd 运行 Wasm 容器 新的 docker extension share CLI 早在 3 月

    2024年02月02日
    浏览(48)
  • Nightingale发布v5.9.2,新功能解决多个生产痛点,真香

    Nightingale | 夜莺监控,一款先进的开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),

    2024年02月06日
    浏览(38)
  • Vant 4.6.4发布,增加了一些新功能,并修复了一些bug

    导读 Vant 4.6.4发布,增加了一些新功能,并修复了一些bug等。 新功能 feat(area-data): 更新芜湖的县区数据,由 nivin-studio 在 #12122 中贡献 feat(Locale): 添加塞尔维亚语到国际化,由 RogerZXY 在 #12145 中贡献 feat(ImagePreview): 添加 closeOnClickOverlay 选项,由 chenjiahan 在 #12153 中贡献 feat(List)

    2024年02月11日
    浏览(36)
  • 折叠屏手机再添新功能?OPPOColorOS14发布,打通 App 和终端互联

    近年来,多终端互联互通已经成为数码产品的发展趋势,各家手机品牌也在不断提升相关功能。 根据数码博主 @数码闲聊站的爆料,OPPO即将发布ColorOS 14,并特别提供了针对折叠屏手机的Fold系统。该系统在横屏模式下对自带应用进行了更好的适配,过渡动画更加流畅,UI界面

    2024年02月12日
    浏览(43)
  • iOS 17 正式版预计 9 月中下旬发布,部分新功能延后推出

    苹果公司预计将在 9 月中下旬推出 iOS 17 正式版,iPhone XS 及更新的机型可免费更新。这次更新包含了许多新功能,但 是 根据苹果公司的网站显示,并不是所有的功能都会立即可用。苹果表示 有一些功能 “将在今年晚些时候推出” , 比如:日记应用、 Apple Music 协作播放列表

    2024年02月12日
    浏览(52)
  • Flutter 3.0 发布啦~快来看看有什么新功能-2022 Google I/O

    我不敢相信又到了另一个主要的Flutter稳定版本的时候了。是的,各位,欢迎Flutter 3.0。 去年,在Google I/O上,Flutter团队宣布了Flutter 2.2。从那时起,Flutter有一些重大改进和稳定的发布。AtInvertase,作为一家开源公司,我们也感谢数百名社区贡献者为Flutter所做的所有辛勤工作;

    2024年02月13日
    浏览(38)
  • 数据可视化工具LightningChart .NET正式发布v10.5.1——拥有全新的3D新功能

    LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。 LightningChart .NET v10.5.1正

    2024年02月13日
    浏览(48)
  • AI日报:最强大模型Llama 3发布;Midjourney推社交新功能Room;超强AI视频自动剪辑工具Captions;手机上可以玩大模型了

    新鲜AI产品 点击了解 :https://top.aibase.com/ 1、最强大模型Llama3 正式发布 已达GPT4 级别 Llama3是Meta公司最新发布的开源模型,拥有80亿和700亿参数规模,预计7月正式发布。该模型具备多模态能力,集成了新的计算机编码功能,将被应用于Meta智能眼镜等设备。与前代Llama2相比,在

    2024年04月27日
    浏览(63)
  • C++11 新功能

    在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为 C++11之前的最新C++标准名称。不过由于TC1主要是对C++98标准中的漏洞进行修复,语言的核心部分则没 有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C+

    2023年04月12日
    浏览(58)
  • Java 20 新功能介绍

    Java 20 共带来 7 个新特性功能 ,其中三个是孵化提案,孵化也就是说尚在征求意见阶段,未来可能会删除此功能。 JEP 描述 分类 429 作用域值(孵化器) Project Loom,Java 开发相关 432 Record 模式匹配(第二次预览) Project Amber,新的语言特性 433 switch 的模式匹配(第四次预览)

    2024年02月03日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包