硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

SQLite 3.9 支持 JSON、表达式索引及更多特性

  • 2015-10-28
  • 本文字数:892 字

    阅读完需:约 3 分钟

最近发布的 SQLite 3.9 提供了一些新特性和增强功能,包括支持 JSON 编解码、全文检索版本 5、表达式索引、同名虚表等等。

根据采用最新语义版本标准,SQLite 3.9 是一个通过引入新特性而打破兼容性同时又向下兼容旧版本的版本。SQLite 3.9 引入的新特性包括:

  • 支持 JSON,通过 json1扩展,实现了一套方法来验证 JSON 字符串、构建 JSON 数组和对象、操作 JSON 字符串(通过更新、插入和替换值)等。另外,有两个表值方法可以通过将每个 JSON 元素映射成行来将 JSON 字符串转换成虚表。
  • 索引表达式,补充了引用表列的传统索引,允许使用涉及多个列的表达式创建索引。这个特性将使得查询更有效率,例如,需要列出给定账户金额总数超过给定数目的所有操作:

CREATE INDEX account_change_magnitude ON account_change(acct_no, abs(amt)); SELECT * FROM account_change WHERE acct_no=$xyz AND abs(amt)>=10000;5. 同名虚表,它是可以用于通过简单地参照其模型名称的虚表,即,不需要运行 CREATE VIRTUAL TABLE。 它的一个例子是 dbstat 虚表,它提供了一个数据库文件中的 B 树和溢出页的低级别信息。
6. 全文检索版本 5 (FTS5),是一个虚表组件,它允许创建一个可以之后全文检索的虚表。以下是如何通过 FTS5 填充一个虚表:
CREATE VIRTUAL TABLE email USING fts5(sender, title, body);一旦你拥有一个 FTS5 虚表,你可以通过三种方式来在其中查询一个词:

SELECT * FROM email WHERE email MATCH 'fts5'; SELECT * FROM email WHERE email = 'fts5'; SELECT * FROM email('fts5');这个功能依然在实验状态。

值得一提的其它变化是当使用 CREATE VIEW 时增加了列名的可选列表,当创建一个视图,并让他们在查询时检查的时候引用未定义表的可能性。

更多信息,阅读 SQLite 3.9.0 3.9.1 release notes

查看英文原文: SQLite 3.9 Supports JSON, Indexes on Expressions and More


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-10-28 19:008475
用户头像

发布了 32 篇内容, 共 20.8 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

直播回顾|多云时代,如何建设企业级云管理平台?(附建设指南下载)

BoCloud博云

云计算 容器 云平台 云管理

从Delta 2.0开始聊聊我们需要怎样的数据湖

网易数帆

大数据 数据湖 Arctic 湖仓一体

【C#】WCF和TCP消息通信练习,实现群聊功能

南蓬幽

签约计划第三季 8月月更

企业即时通讯是什么?可以应用在哪些场景?

BeeWorks

什么是企业知识库?有什么作用?如何搭建?

金陵老街

vue cli 知识库 spring-boot

测试开发【Mock 平台】08 开发:项目管理(四)编辑功能和Component抽离

MegaQi

8月月更

每日一R「03」Borrow 语义与引用

Samson

8月月更 ​Rust

一文搞懂传统单节点网站的 Serverless 上云

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

开源一夏 | 提高代码可重用性,减少重复劳动--手把手带你实现Python自定义模块并上传到pypi,贡献自己创造的轮子为所有人使用,让Python开发更加简单

迷彩

Python 开源 签约计划第三季 8月月更 自定义模块

机器学习模型验证:被低估的重要一环

澳鹏Appen

人工智能 机器学习 模型开发 模型开发训练 模型验证

HarmonyOS自动化测试框架—Hypium

HarmonyOS开发者

HarmonyOS

接口测试进阶接口脚本使用—apipost(预/后执行脚本)

Xd

Java 接口测试

120Hz OLED拒绝“烧屏”!华硕无双全能轻薄本

科技热闻

MSE 治理中心重磅升级-流量治理、数据库治理、同 AZ 优先

阿里巴巴云原生

数据库 阿里云 微服务 云原生 限流

RocketMQ 消息集成:多类型业务消息——定时消息

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

产品说明丨Android端使用MobPush快速集成方法

MobTech袤博科技

android Android Studio 集成 mobpush

网络可观测性:让您的网络监控更上一层楼|TechGenix

观测云

【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(下)

荣耀开发者服务平台

手机 新手指南 安卓 荣耀 honor

兼具外观、性能、屏幕!华硕灵耀X 14火热抢购中

科技热闻

shell运算详解,看这一篇就够了!

Albert Edison

Linux centos 运维 shell脚本编程 8月月更

搭载2.8K 120Hz OLED华硕好屏 无畏Pro15 2022锐龙版屏开得胜

科技热闻

AIRIOT答疑第8期|AIRIOT的金字塔服务体系是如何搞定客户的?

AIRIOT

低代码 物联网 低代码,项目开发

从企业的视角来看,数据中台到底意味着什么?

BeeWorks

Apache DolphinScheduler 3.0.0 正式版发布!

白鲸开源

海豚调度 DolphinScheduler 调度器 版本发布

Java System.lineSeparator 方法

HoneyMoose

云渲染的应用正在扩大,越来越多的行业需要可视化服务

Finovy Cloud

云渲染 GPU渲染

SpringMVC(四、异常处理和综合练习)

开源 springmvc 8月月更

6月各手机银行活跃用户较快增长,创半年新高

易观分析

数据分析 金融 电子银行

开源一夏 | mysql5.7 安装部署 -二进制安装

zhangpfly

MySQL 开源 MySQL 运维 #开源 8月月更

选择是公有云还或是私有云,这很重要吗?

BeeWorks

CEO对今天的CIO们真正的要求是什么?

BeeWorks

SQLite 3.9支持JSON、表达式索引及更多特性_语言 & 开发_Sergio De Simone_InfoQ精选文章