写点什么

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

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

关注

评论

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

高可用的系统架构

莫莫大人

极客大学架构师训练营

Week 11命题作业

Jeremy

用户密码验证函数

周冬辉

加密

第十一周命题作业

菲尼克斯

第十一周学习总结

菲尼克斯

etcd的高可用

李小匪

架构师训练营第 0 期第 11 周作业

无名氏

安全架构和高可用系统的架构

周冬辉

高可用系统的架构

极客大学架构师训练营 0 期 week 11 作业

chun1123

高可用 密码校验

Week 11 作业

鱼_XueTr

java安全编码指南之:拒绝Denial of Service

程序那些事

Java 安全编码指南 java安全编码 DOS攻击 zip炸弹

架构师训练营第十一周作业

子豪sirius

用户密码验证函数

任小龙

Flink算子状态-9

小知识点

scala 大数据 flink

云上度假村木莲庄酒店助你远离城市的喧嚣

InfoQ_967a83c6d0d7

Week11总结

熊威

架构师训练营 Week 11 总结

Wancho

极客时间架构师训练营 - week11 - 作业 2

jjn0703

极客大学架构师训练营

架构师训练营 Week 11 作业

Wancho

架构师训练营 第十一周 作业

CR

架构师训练营 第十一周 总结

CR

架构师训练营 - 第 11 周作业

Jam

Apache Pulsar 社区周报:08-15 ~ 08-21

Apache Pulsar

云原生 Apache Pulsar 消息系统 消息中间件

【华为云数据库技术大公开】机房失火后,还能拯救你的数据吗?

华为云开发者联盟

数据库 机房 华为云 数据存储 云数据库

漫画解读:唐僧师徒如何帮助大唐官网打造CDN+OSS完美架构?

阿里云Edge Plus

系统稳定高可用的方案以及用户密码验证函数

Acker飏

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

冰河

高并发 分布式限流 秒杀系统 异步削峰 签约计划第二季

Week11作业1

熊威

极客大学架构师训练营 0 期 week 11 学习笔记

chun1123

安全 高可用系统的架构

系统不可用的原因和解决方案

极客李

Newbe.Claptrap 框架入门,第四步 —— 利用 Minion,商品下单

newbe36524

云计算 微服务 dock .net core ASP.NET Core

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