写点什么

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

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

关注

评论

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

设计模式之美--MVC(1)充血模型的DDD开发模式例子

GalaxyCreater

设计模式

Vision Transformer这两年

OneFlow

人工智能 深度学习 NLP 大模型

华为云云服务器:赢麻了是种什么体验?

路过的憨憨

华为

企业数字化办公利器——华为云桌面Workspace

清欢科技

一站式解决方案,华为云CDN这波双十一很强!

秃头也爱科技

架构实战营模块一作业

张贺

架构实战营

华为云CDN,为你开启更快速的上网体验!

秃头也爱科技

一个有点咬文嚼字的 sorting 和 ordering

HoneyMoose

AngularJS进阶(九)控制器controller之间如何通信

No Silver Bullet

通信 AngularJS 12月月更

hashmap 的重新散列和装载因子

HoneyMoose

设计模式之美--MVC(1)的贫血模型、充血模型

GalaxyCreater

设计模式

企业运维强驱动

秃头也爱科技

极客时间运维进阶训练营第六周作业

9527

弹性伸缩、安全高效!华为云服务器助力企业数字化转型!

路过的憨憨

华为

企业如何高质量上云?华为云服务器告诉你!

路过的憨憨

华为

三种基本排序

我是一个茶壶

排序算法 C语音 11月月更

​ AngularJS进阶(七)AngularJS实现根据不同条件显示不同控件

No Silver Bullet

AngularJS 12月月更 条件筛选

企业云上办公的最佳选择——华为云桌面Workspace

爱科技的水月

HashMap 的初始值和最大值和扩容因子

HoneyMoose

Java HashMap 的扩容因子为什么是 0.75

HoneyMoose

JavaScript进阶(八)实现图片预览并导入服务器功能

No Silver Bullet

图片预览 AngularJS 12月月更

会议都在云上开,华为云会议具有超高性价比

清欢科技

华为云CDN 真的有点“东西”!极速网上冲浪全靠它

爱科技的水月

Java HashMap 在获得 Key 的 Hash 值的时候用的是什么算法

HoneyMoose

企业上云原来如此简单,华为云带你体验云上风采

清欢科技

双十一特惠,华为云桌面助力便捷高效办公!

爱科技的水月

Java Hash 碰撞

HoneyMoose

Hash 的定义

HoneyMoose

体验华为云桌面的新办公形式,让你轻松办公

秃头也爱科技

一文了解 Go 标准库 strconv:string 与其他基本数据类型的转换

陈明勇

Go golang string 11月月更 strconv

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