写点什么

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

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

关注

评论

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

JSON.stringify() 的 5 使用场景

devpoint

JavaScript 前端开发 JSON格式化

OneFlow v0.9.0正式发布

OneFlow

人工智能 深度学习

如何用Know Streaming来查询Kafka的消息

石臻臻的杂货铺

Kafk

精华推荐 | 【深入浅出 RocketMQ原理及实战】「底层源码挖掘系列」透彻剖析贯穿RocketMQ的消费者端的运行核心的流程(上篇)

码界西柚

RocketMQ 消息队列 原理分析

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

独钓寒江

企业架构治理指什么,如何做?

涛哥 数字产品和业务架构

架构治理 企业构架

从任务分配角度来看管理

石云升

极客时间 1月月更 技术领导力实战笔记

【腾讯云AI】用1行Python代码识别增值税发票,YYDS

程序员晚枫

Python 人工智能 发票 OCR

GLM国产大模型训练加速:性能最高提升3倍,显存节省1/3,低成本上手

OneFlow

人工智能 深度学习

开源移动核心网Magma架构设计启示

俞凡

架构 网络 通信

技术管理者如何获得下属的认同?

石云升

极客时间 1月月更 技术领导力实战笔记

【PHP】英文博客专栏PHP快速入门个人笔记

懒时小窝

php

【Redis技术专区】「优化案例」谈谈使用Redis慢查询日志以及Redis慢查询分析指南

码界西柚

redis 性能调优 慢查询

问题代码定位神器: Git Bisect

俞凡

git

你知道这个提高 Java 单元测试效率的 IDEA 插件吗

JAVA旭阳

Java

FPGA:硬件描述语言简介

timerring

FPGA

精华推荐 | 【JVM深层系列】「GC底层调优系列」一文带你彻底加强夯实底层原理之GC垃圾回收技术的分析指南(GC原理透析)

码界西柚

Java JVM JVM原理 2023

设计微博系统中”微博评论“的高性能高可用计算架构

悟空

架构 高可用 高性能 微博评论

关于环境变量配置的思考总结

timerring

Go 环境变量

复习前端:前端应掌握的网络知识

devpoint

OSI七层协议 http2 HTTPS协议加密

我们需要怎样的低代码平台

agnostic

低代码

如何判断候选人与岗位的匹配程度?

石云升

极客时间 1月月更 技术领导力实战笔记

FPGA:逻辑功能的仿真与验证

timerring

FPGA

我总结了写出高质量代码的12条建议

JAVA旭阳

Java

影响产品开发决策的认知偏见

俞凡

认知

FPGA:Verilog HDL程序的基本结构

timerring

FPGA

如何妥善且优雅地做好解聘工作?

石云升

极客时间 1月月更 技术领导力实战笔记

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