写点什么

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

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

关注

评论

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

【思考】-产品等级与市场定位匹配

superman

定位 产品定位

慧点OA转战政企市场,钉钉们羡慕么?

人称T客

Linux 性能优化实战 笔记-IO篇

程序员老王

从0-1学习项目方案设计

赵孔磊

谈一谈年终奖中的那些坑

张小方

程序员 面试 offer 薪资 年终奖

Week4总结

王志祥

极客大学架构师训练营

年薪百万架构师推荐的888页Java王者级核心宝典,offer直接来

无予且行

让你秒懂Spring中Mybatis的花样配置

小谈

Java spring 面试 Spring Cloud mybatis

使用 Flutter 快速实现请假与写周报应用

LeanCloud

flutter 后端 数据 教程

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十四)编写测试-内建扩展

编程道与术

Java 编程 TDD 单元测试 JUnit

如何构建你自己的 JVM (2) HelloWorld

孤星可

Java JVM 深入理解JVM

架构师0期04周命题作业

我在终点等你

从 0 到 1 搭建技术中台之推送平台实践:高吞吐、低延迟、多业务隔离的设计与实现

伴鱼技术团队

kafka 缓存 分布式架构 消息推送 push

javascript 部分数据类型的用法

Isuodut

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

~就这样~

week 04 作业

Safufu

week 04 总结

Safufu

极客大学架构师训练营 系统架构 第8课 听课总结

John(易筋)

极客时间 系统架构 极客大学 极客大学架构师训练营 系统架构演化

ARTS 第 4 周

乌拉里

计算机操作系统基础(九)---存储管理之段页式存储管理

书旅

php laravel 线程 操作系统 进程

系统架构:学习小结

梅子黄时雨

极客大学架构师训练营

系统结构:作业

梅子黄时雨

极客大学架构师训练营

架构师0期04周总结

我在终点等你

到底什么是HashMap?

小闫

Java spring 后端 JVM hashmap

分布式系统架构学习总结(第四周)

~就这样~

这20道微服务面试题要是不会,offer就与你无缘

犬来八荒

Java 架构 面试 微服务

Java 面试必考的 6 个技能,都在这了

架构大数据双料架构师

攻克SpringBoot底层源码后,才发现开发原来这么香

无予且行

Java spring 面试 Spring Boot 开发

架构师训练营第四周感悟

张锐

极客大学

聊一聊 HashMap

江城子

Java hashmap

环信荣登36氪WISE2020企服金榜-智能客服榜首

DT极客

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