AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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:008356
用户头像

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

关注

评论

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

怎么看电脑上是否有lindex命令可运行

linux大本营

bash Linux linux命令

Appuploader安装指南

MySQL WHERE 子句

Node 版本控制

程序员海军

Node 三周年连更

C头文件是什么,使用mmap

linux大本营

C语言 Mmap

解析mmap系统调用的所有的标志位

linux大本营

Linux 内存管理 Mmap 系统调用 内存映射

大模型带来的Web复兴,会是昙花一现吗?

脑极体

AI 云厂商

lindex命令在shell脚本里的应用

linux大本营

Shell linux命令 脚本 shell脚本

如何快速在手机中查看UDID,无需itunes、itools

QUIC技术分享

linux大本营

网络协议 udp QUIC

运行脚本报错lindex:未找到命令

linux大本营

bash Linux 脚本

重塑元宇宙体验!3DCAT元宇宙实时云渲染解决方案来了

3DCAT实时渲染

元宇宙 元宇宙解决方案

ORACLE EBS:多组织结构 理解与配置

back_wang

oracle oracle ebs oracle apex

一文初探 Goroutine 与 channel

陈明勇

Go golang channel goroutine 三周年连更

《简化iOS APP上架流程,App Uploader助你搞定!》

网络视频监控如何入门?如何安装和配置、设备选择和实时监控?

wljslmz

三周年连更

仅需三步,快速打造指标数据应用

Kyligence

数据分析 指标平台

组播ip地址,广播ip地址,特殊ip地址

linux大本营

TCP IP地址

linux环境下用c语言实现reactor网络模型的代码案例

linux大本营

Linux reactor 高并发 epoll

怎么查看自己的mac地址和ip

linux大本营

Mac 网络 Windows Server IP地址

Appuploader证书申请教程

MySQL 序列使用

MySQL 教程

kafka常用命令

烟波

kafka MQ 中间件

C语言检测输入的ip地址中含有几个.

linux大本营

C语言 字符串

C语言检测输入的ip地址是否合法

linux大本营

C语言 IP地址

AI的道德风险测试:偏见风险

陈磊@Criss

报名开启,明天直播!龙蜥社区多位专家在线报告 | 2023 大学生操作系统大赛培训会

OpenAnolis小助手

活动 操作系统 计算机 大学生 龙蜥社区

创建型模式之单例模式和工厂模式

共饮一杯无

设计模式 创建型模型 三周年连更

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