AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

技术分享| 消息队列Kafka群集部署

anyRTC开发者

nginx kafka zookeeper 分布式 消息

CTO技术共享整理出来的十个Python自动化脚本

CTO技术共享

Python 个人成长 10月月更

vue3实战-完全掌握ref、reactive

yyds2026

Vue

Wallys//routerboard,QCN9074,QUECTEL,RM500Q-GL,WiFi6ECard,802.11ax,IPQ6010,IPQ6000,IPQ6018

wallys-wifi6

IPQ6010 ipq6018 IPQ6000

什么是无代码?企业为什么要用无代码进行数字化转型?

优秀

数字化转型 无代码

CTO技术共享整理九个shell脚本

CTO技术共享

个人成长 DDoS 10月月更

【CSPO认证】11月19-20日在线周末班 | 全国招生

ShineScrum

Scrum 敏捷 产品负责人 CSPO 产品经理培训

升级到React-Router-v6

xiaofeng

React

TiKV 源码阅读三部曲(一)重要模块

PingCAP

TiKV 源码解读

3M互助公排dapp系统开发智能合约定制

开发微hkkf5566

大数据开发培训怎么选?

小谷哥

前端开发的程序员还有前途吗

小谷哥

研发分享 | StoneDB 如何给 Tianmu 引擎增加 delete 功能 #1 调研之旅

StoneDB

数据库 HTAP StoneDB 10月月更 企业号十月PK榜

遇到消息队列选型肿么办

CTO技术共享

个人成长 消息队列 10月月更

vue实战-深入响应式数据原理

yyds2026

Vue

React组件通信

xiaofeng

React

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

好吃不贵

Confidential Containers:云原生机密计算基础设施

OpenAnolis小助手

开源 cncf 龙蜥 机密计算 沙箱

SAP | 认识数据元素和域

暮春零贰

SAP abap 10月月更

React组件设计模式-纯组件,函数组件,高阶组件

xiaofeng

React

大数据开发培训学习哪家机构好

小谷哥

java开发技术培训费用是多少

小谷哥

渲染行业的未来发展趋势

Finovy Cloud

渲染 云渲染 本地渲染

SAP | 详解abap数据类型

暮春零贰

SAP abap 10月月更

Vue.nextTick核心原理

yyds2026

Vue

NFT卡牌挖矿链游dapp系统开发

开发微hkkf5566

细说React组件性能优化

xiaofeng

React

没想到!我在简历上写了“精通MySQL”,阿里面试官跟我死磕后就给我发了高薪offer

程序知音

Java MySQL 数据库 后端技术

Dell UltraSharp 27显示器,创造你想要的“视”界

科技热闻

zookeeper实现分布式锁

zarmnosaj

10月月更

vue中的几个高级概念

yyds2026

Vue

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