AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

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

关注

评论

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

Kafka 零拷贝模型

花一个无所

kafka 模型 简易架构图

Apache Oozie基本原理与工作流类型

大数据技术指南

大数据 oozie 4月日更

2021字节大厂面经分享:Java面试高分宝典!GitHub已标星86.7K

比伯

Java 编程 架构 面试 计算机

Linux chmod命令

一个大红包

4月日更

建立自己的领导风格

石云升

领导力 28天写作 职场经验 管理经验 4月日更

架构实战营-模块一作业

西伯利亚鼯鼠

架构实战营

C/C++ Linux后端进BAT的学习路线(腾讯官方认证)丨Linux服务器开发

Linux服务器开发

腾讯 后端 Linux服务器开发 BAT

Golang Map 模型

花一个无所

模型 源码剖析 Go 语言 简易架构图

为什么要用 Redis 实现事务的 ACID

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

人生好走的路那么多,你偏要选这条难走的走

小天同学

自我思考 个人感悟 人生修炼 4月日更

Golang map 模型

花一个无所

源码分析 模型 Go 语言 简易架构图

dubbo几个问题整理:优雅停机、线程池配置

程序员架构进阶

dubbo 28天写作 4月日更 优雅停机 线程配置

新基建:“区块链+物联网”,是否生活将会改变?

电微13828808271

物联网 区块链标准

聪明人的训练(二)

Changing Lin

4月日更

Golang interface 模型

花一个无所

源码分析 模型 Go 语言 简易架构图

Golang channel 模型

花一个无所

源码分析 模型 Go 语言 简易架构图

大数据计算生态之数据存储

小舰

4月日更

关于Object,你所必须知道的!

Chalk

大前端 Object 4月日更

升级dubbo,小心default.version

捉虫大师

Java dubbo

时代之盾,国之重器:华为带给政务数据保护的新可能

脑极体

手写函数

wudaxue

JavaScript vue.js

云计算防火墙对象(组)的实践

Python研究所

云计算 防火墙 对象组

javascript

wudaxue

JavaScript

架构实战营 - 模块1 - 作业

Ming

软件架构

睿象云智能告警平台cloudalert排班可以帮你做什么

睿象云

运维 告警 运维人生 智能告警 告警管理

新版犀牛书该不该入手?

清秋

JavaScript ecmascript ES6 技术书籍 4月日更

头条二面:你们公司怎么处理MySQL的 Binlog 日志?

Java架构师迁哥

有趣的技术知识 3 | GitHub超火科学上网加速器!

Java_若依框架教程

翻墙 佛跳墙 科学上网

找到适合您的数字化转型策略的3个步骤

龙归科技

数字化转型 企业

Tidb模型

花一个无所

架构 TiDB 简易架构图

【得物技术】前端工程师要知道的Nginx知识

得物技术

nginx 负载均衡 大前端 得物技术 知识

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