SQLite 3.43 发布,性能大提升!

news2024/11/16 8:38:33

前言

alt

SQLite是一种被广泛运用的嵌入式关系型数据库管理系统,最新发布的SQLite 3.43版本带来了一个重要的改进,大幅提升了对JSON数据的处理性能,达到了之前的两倍。

主要更新

  1. 添加对 Contentless-Delete FTS5 索引的支持。这是 FTS5 全文搜索索引的变体,它省略了存储正在索引的内容,同时支持删除记录

    • Contentless-Delete 表支持 DELETE 和 "INSERT OR REPLACE INTO" 语句
    • Contentless-Delete 表支持 UPDATE 语句,但前提是为 fts5 表的所有用户定义列提供了新的值
  • Contentless-Delete 表不支持 FTS5 删除命令
  1. 增强日期和时间函数:
    • 添加了 ±YYYY-MM-DD HH:MM:SS.SSS 形式的新版时间位移修饰符 (time shift modifiers)
    • 新增 timediff() SQL 函数
  2. 新增 octet_length(X) SQL 函数
  3. 新增 sqlite3_stmt_explain() API
  4. 增强 JSON 处理性能,大型 JSON 字符串某些类型处理的性能提升了 2 倍
  5. 增强 Query planner 性能

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在Web开发和移动应用领域得到广泛应用。随着处理JSON数据变得越来越普遍,处理效率成为了一个关键问题,因为JSON可以表示复杂的嵌套结构和大量的数据。

通过改进内部的JSON1扩展模块,SQLite 3.43版本显著提升了对JSON数据的处理性能。根据官方测试数据显示,在某些情况下,新版本的SQLite比之前的版本快两倍以上。

这种性能提升主要源于SQLite 3.43对JSON数据处理方式的优化。其中包括提高了JSON解析器的效率、加快了查询和索引操作的速度等。此外,还增加了一些新的与JSON相关的函数,提升了对JSON数据的灵活处理能力。

除了性能提升,SQLite 3.43还修复了一些已知问题,并进行了其他改进。例如,新增了一些日期/时间函数,增加了多达11个新的内置SQL函数,优化了查询计划的生成效果等。

对于开发人员和数据库管理员来说,这个新版本的SQLite带来了显著的好处。首先,性能提升意味着可以更高效地处理大量的JSON数据,加快了应用程序的响应速度。其次,新增的函数和改进的功能提供了更多工具,使开发人员能够更轻松地处理和操作JSON数据。

总之,发布的SQLite 3.43版本极大地提升了处理JSON数据的性能,使开发人员能够更高效地处理和操作JSON数据。随着Web和移动应用的不断发展,这将推动数据库领域的发展,并为开发人员提供更好的工具和技术支持。我们期待未来的SQLite版本中会有更多令人兴奋的改进和功能的引入。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1033279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go 常用命令介绍

Go 常用命令 文章目录 Go 常用命令一、Go 常用命令1.1 go build1.1.1 指定输出目录1.1.2 常用环境变量设置编译操作系统和 CPU 架构1.1.3 查看支持的操作系统和CPU架构 1.2 go test1.3 go vet1.4 go clean1.5 go fmt1.6 go get1.7 go install1.8 go tool1.9 go generate1.10 go…

iOS——KVC(键值编码)

键值编码(KVC) KVC(Key Value Coding)是一种允许以字符串形式间接操作对象属性的方式。 最基本的KVC是由NSKeyValueCoding协议提供支持,最基本的操作属性如下: setValue: 属性值 forKey: 属性名&#xff…

Flink1.14 Source概念入门讲解与源码解析

目录 Flink Source概念 Source Source源码 getBoundedness() createReader(SourceReaderContext readerContext) createEnumerator(SplitEnumeratorContext enumContext) SplitEnumerator restoreEnumerator(SplitEnumeratorContext enumContext, EnumChkT checkpoint) …

使用Selenium进行网页登录和会话管理

随着互联网的快速发展,网页登录和会话管理是许多网站和应用程序的基本功能。通过网页登录,用户可以访问个人账户、购物车订单、历史记录等个性化信息。为了提高用户体验和效率,自动化登录和会话管理成为一个重要的需求。而Selenium作为一种强…

信创办公–基于WPS的EXCEL最佳实践系列 (限制可录入内容)

信创办公–基于WPS的EXCEL最佳实践系列 (限制可录入内容) 目录 应用背景操作过程1、数据有效性(支出证明单)2、如何完成数据有效性的使用(差旅报销申请表)3、清除数据验证4、利用圈释无效数据,验…

Docker容器中的SSH免密登录

简介:在日常的开发和测试环境中经常需要创建和管理Docker容器。有时,出于调试或管理的目的,可能需要SSH到容器内部。本文将介绍如何创建一个Docker容器,它在启动时自动运行SSH服务,并支持免密登录。 历史攻略&#xf…

在github上设置不同分支,方便回滚

在github上设置不同分支,方便回滚 步骤可能出现的问题couldnt find remote ref gpuVersion1. 确保您处于正确的分支2. 添加并提交更改(如果还未进行)3. 推送本地分支到远程仓库4. 验证操作 步骤 之前在github上上传了一个项目代码&#xff0c…

用Win10自带画图3D抠图

文章目录 一、打开“画图3D”二、插入图片三、抠图操作四、保存抠图 一、打开“画图3D” 在搜索框输入“画图3D” 选择彩色水滴图标的软件 二、插入图片 选择“新建” 导航栏“菜单”–>“插入”,选择要扣的图片。(我选择了一张自己随意画的图片…

【动态规划刷题 17】回文子串 最长回文子串

647. 回文子串 链接: 647. 回文子串 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由…

启动 React APP 后经历了哪些过程

本文作者为 360 奇舞团前端开发工程师 前言 本文中使用的React版本为18,在摘取代码的过程中删减了部分代码,具体以源代码为准。 在React 18里,通过ReactDOM.createRoot创建根节点。并且通过调用原型链上的render来渲染。 本文主要是从以下两个…

Python函数绘图与高等代数互融实例(五): 则线图综合案例

Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数 Python函数绘图与高等代数互融实例(二):闪点函数 Python函数绘图与高等代数互融实例(三):设置X|Y轴|网格线 Python函数绘图与高等代数互融实例(四):设置X|Y轴参考线|参考区域 Python函数绘图与高等代数互融实例(五…

iOS应用程序数据保护:如何保护iOS应用程序中的图片、资源和敏感数据

目录 转载:怎么保护苹果手机移动应用程序ipa中文件安全? 前言 1. 对敏感文件进行文件名称混淆 2. 更改文件的MD5值 3. 增加不可见水印处理 3. 对html,js,css等资源进行压缩 5. 删除可执行文件中的调试信息…

关于分布式一致性

一致性(consistency) 说到一致性,我们可能最先想到的数据库里的事务 这里的讨论的是分布式的一致性,事务就简化一下,只考虑Read/Write 先列举一下事务的种类: 单机的事务:多个复杂事务发生在一…

React组件化开发

1.组件的定义方式 函数组件Functional Component类组件Class Component 2.类组件 export class Profile extends Component {render() {console.log(this.context);return (<div>Profile</div>)} } 组件的名称是大写字符开头&#xff08;无论类组件还是函数组件…

ElementUI之登录与注册

目录 一.前言 二.ElementUI的简介 三.登录注册前端界面的开发 三.vue axios前后端交互--- Get请求 四.vue axios前后端交互--- Post请求 五.跨域问题 一.前言 这一篇的知识点在前面两篇的博客中就已经详细详解啦&#xff0c;包括如何环境搭建和如何建一个spa项目等等知识…

【二叉树魔法:链式结构与递归的纠缠】

本章重点 二叉树的链式存储二叉树链式结构的实现二叉树的遍历二叉树的节点个数以及高度二叉树的创建和销毁二叉树的优先遍历和广度优先遍历二叉树基础oj练习 1.二叉树的链式存储 二叉树的链式存储结构是指&#xff0c;用链表来表示一棵二叉树&#xff0c;即用链来指示元素的逻辑…

GitHub Copilot Chat

9月21日&#xff0c;GitHub在官网宣布&#xff0c;所有个人开发者可以使用GitHub Copilot Chat。用户通过文本问答方式就能生成、检查、分析各种代码。 据悉&#xff0c;GitHub Copilot Chat是基于OpenAI的GPT-4模型打造而成&#xff0c;整体使用方法与ChatGPT类似。例如&…

帆软BI开发-Day2-趋势图的多种变形

前言&#xff1a; 在BI数据展示中&#xff0c;条形图、趋势图无疑是使用场景非常多的两种图形。与条形图不同的是&#xff0c;趋势图更能反馈出一定的客观规律和未来的趋势走向&#xff0c;因此用于作为预警和判异的业务场景&#xff0c;但实际业务场景的趋势图可没你想的那么简…

代码随想录算法训练营 动态规划part14

一、最长公共子序列 1143. 最长公共子序列 - 力扣&#xff08;LeetCode&#xff09; class Solution {public int longestCommonSubsequence(String s1, String s2) {int n s1.length(), m s2.length();char[] cs1 s1.toCharArray(), cs2 s2.toCharArray();int[][] f n…

精华回顾:Web3 前沿创新者在 DESTINATION MOON 共话未来

9 月 17 日&#xff0c;由 TinTinLand 主办的「DESTINATION MOON: Web3 Dev Summit Shanghai 2023」线下活动在上海黄浦如约而至。 本次 DESTINATION MOON 活动作为 2023 上海区块链国际周的 Side Event&#xff0c;设立了 4 场主题演讲与 3 个圆桌讨论&#xff0c;聚集了诸多…