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

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

关注

评论

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

深入学习 SAP UI5 框架代码系列之三:HTML 原生事件 VS UI5 Semantic 事件

汪子熙

JavaScript SAP 签约计划第二季 HTML原生事件 技术专题合集

Redis持久化策略——RDB

蝉沐风

redis redis持久化 rdb RDB 快照

深入学习 SAP UI5 框架代码系列之五:SAP UI5 控件的实例数据修改和读取逻辑

汪子熙

JavaScript SAP UI5 签约计划第二季 控件 技术专题合集

小谈startup类ConfigureServices方法的作用

喵叔

11月日更

深入学习 SAP UI5 框架代码系列之一:UI5 Module 的懒加载机制

汪子熙

JavaScript SAP 签约计划第二季 ui5 技术专题合集

深入学习 SAP UI5 框架代码系列之四:SAP UI5 控件的元数据实现

汪子熙

JavaScript SAP UI5 签约计划第二季 WebIDE 技术专题合集

视野数科借助 SAE + Jenkins 打造云原生 DevOps,运维效率提升 60%!

阿里巴巴云原生

阿里云 Serverless DevOps 云原生 SAE

【死磕Java并发】-----J.U.C之Condition

chenssy

11月日更 死磕 Java 死磕 Java 并发

深入学习 SAP UI5 框架代码系列之二:UI5 控件的渲染器

汪子熙

SAP 签约计划第二季 ui5 渲染器 技术专题合集

小程序电商微服务拆分和框架选择

云里雾花

CloudPosse 的 Terraform 最佳实践

大可不加冰

DevOps 基础设施即代码 IaC Terraform HashiCorp

盘点Flutter领域的点点滴滴 【专题合集】

坚果

flutter 内容合集 签约计划第二季 技术专题合集

Exchange漏洞分析:SSRF RCE

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

深入学习 SAP UI5 框架代码系列之六:SAP UI5 控件数据绑定的实现原理

汪子熙

JavaScript SAP SAP UI5 签约计划第二季 技术专题合集

深入学习SAP UI5框架代码系列之八:谈谈 SAP UI5 的视图控件 ID,以及 SAP UI5 视图和 Angular 视图的异同

汪子熙

JavaScript 大前端 SAP UI5 签约计划第二季 技术专题合集

转型中的学习型组织 ——阅读《第五项修炼》有感

研发管理Jojo

系统性思考 企业转型

深入学习 SAP UI5 框架代码系列之七:控件数据绑定的三种模式 - One Way, Two Way 和 OneTime 实现原理比较

汪子熙

JavaScript 数据绑定 SAP UI5 签约计划第二季 技术专题合集

会日语的开发工程师看过来~

马农驾驾驾

Java c++ php .net 日语

工业3D视觉,为智能制造打开新视域

脑极体

模块五作业

doublechun

「架构实战营」

Flutter自定义日历【Flutter 专题 11】

坚果

flutter 签约计划第二季

Flutter 中的手势【Flutter 专题10】

坚果

flutter 签约计划第二季

EasyRecovery,重新找寻丢失的文件

淋雨

EasyRecovery

新成就!OceanBase 入选 Forrester 首份分布式数据库报告

OceanBase 数据库

数据库 开源 新闻 oceanbase 荣誉

Flutter 2.5 的新特性【Flutter专题12】

坚果

flutter 签约计划第二季

深入学习 SAP UI5 框架代码系列 | 内容合集

汪子熙

JavaScript SAP 内容合集 签约计划第二季 技术专题合集

音视频理论(1)- 音频格式之 Monkeys Audio(APE)

liuzhen007

签约计划第二季

Linux安装mysql

犟马骝

CPU的流水线指令设计

JavaEdge

不改一行代码,轻松拥有企业级微服务治理|MSE微服务治理专业版重磅发布

阿里巴巴云原生

阿里云 云原生 微服务治理 MSE

畅聊分布式体系架构

吴脑的键客

分布式架构

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