写点什么

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

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

关注

评论

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

《解构领域驱动设计》-领域驱动设计统一过程

珑彧

Java 读书笔记 架构 方法论 领域驱动设计

找 ChatGPT 写 SQL? 不如试试 PromQL,三行解决复杂时序场景查询

Greptime 格睿科技

sql 云原生 时序数据库 PromQL 可观测

为什么选择免费文件共享方法上的托管文件传输

镭速

关于 OAuth 你又了解哪些?

API7.ai 技术团队

api 网关 Oauth APISIX

文本数据标注已上线,支持文本分类、实体识别|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 云计算 数据分析 编程建模

大数据培训的方法有哪些

小谷哥

如何将物理机Windows系统迁移到VMware虚拟机?

天翼云开发者社区

《福布斯》评英特尔最新财报:业绩之外,制程路线图的稳步推进是真正的好消息

科技之家

RESTful API 为何成为顶流 API 架构风格?

API7.ai 技术团队

API APISIX REST API

Elasticsearch 利用 Enrich Processor 实现 MYSQL Join 的操作,支持 Nested 类型,具体应用。

alexgaoyh

MySQL elasticsearch ES 多表join enrich processor

“云”上书店,氛围感拉满!

天翼云开发者社区

天翼云第八代云主机助力企业攻克上云“大象流”加密处理业务难题

天翼云开发者社区

Knative Autoscaler 自定义弹性伸缩

天翼云开发者社区

您有一个MatrixOne Beta Program专属权益待领取

MatrixOrigin

MatrixOrigin MatrixOne betaprogram MO企划

DAAM:首次利用视觉语言学解释大型扩散模型

Zilliz

共铸国云智领未来| 数据进超市,海岛更善治

天翼云开发者社区

3Dmax和C4d有什么区别?

Finovy Cloud

3DMAX

3D可视化:18个WebGL框架和Web3D图形库

2D3D前端可视化开发

WebGL 三维可视化 web3d 3d绘图引擎

腾讯架构师极力推荐:Java多线程与Socket实战微服务框架

小小怪下士

Java 程序员 socket 多线程

为什么工厂要投资设备智能维护管理技术?

PreMaint

设备管理 设备预测性维护

线下学习前端培训机构怎么选?

小谷哥

java培训与线上自学哪个比较好?

小谷哥

领导者!天翼云蝉联政务公有云基础设施市场第一

天翼云开发者社区

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