写点什么

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

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

关注

评论

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

WAVE SUMMIT2023六大分会场同步开启,飞桨+文心大模型加速区域产业智能化!

飞桨PaddlePaddle

人工智能 paddle 百度飞桨

HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

HarmonyOS开发者

HarmonyOS

在软件开发领域寻找更安全的众包平台?YesPMP助您无忧!

知者如C

深度学习入门

统信软件

NFTScan | 08.07~08.13 NFT 市场热点汇总

NFT Research

NFT\

天翼云加速落地紫金DPU实践应用,让算力供给更高效!

天翼云开发者社区

云计算

使用FTP文件传输协议的潜在风险

镭速

文件传输协议

Ethereum第一笔转账

FunTester

Koordinator 异构资源/任务调度实践

阿里巴巴云原生

阿里云 开源 云原生

现代技术与语言翻译的未来

汽车之家客户端前端团队

AI 语言翻译 现代技术 AI翻译

如何选择最佳的文件传输协议?(FTP、TFTP、Raysync)

镭速

文件传输协议

软件测试/测试开发丨Python 多态 学习笔记

测试人

Python 软件测试 测试开发 多态

在Next.js 13中使用React Server组件实现国际化

汽车之家客户端前端团队

React next.js app route RSC

程序员如何利用低代码平台提升软件开发效率?

互联网工科生

程序员 低代码 PaaS 开发工具 开发效率

细数应用软件的缺陷分类

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号 8 月 PK 榜

对标数据科学家,直面AI浪潮丨和鲸助力中国石油大学(华东)理学院,打造有学科特色的数据科学与大数据专业

ModelWhale

大数据 人才培养 数据科学 高等教育 数据科学家

GaussDB技术解读系列之应用无损透明(ALT)

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

深入思考 Next.js App Directory 架构

汽车之家客户端前端团队

架构 nextjs App Directory

实录分享 | 使用Prometheus和Grafana监控Alluxio运行状况

Alluxio

分布式 Grafana #Prometheus Alluxio 大数据 开源

17. 正则表达式

茶桁

Python 正则表达式

湖仓一体:国产基础软件的创新突破与弯道超车

极客天地

优测云服务平台|【压力测试功能升级】轻松压测

优测云服务平台

性能测试 压力测试 并发测试 云性能测试

OSCS开源安全周报第 55 期:JeecgBoot 远程代码执行漏洞

墨菲安全

网络安全 安全 漏洞

在 Linux 中使用 cp 命令

树上有只程序猿

Linux copy

软件测试/测试开发丨Python 模块与包 学习笔记

测试人

Python 程序员 软件测试 测试开发

OpenHarmony Meetup 广州站 OpenHarmony正当时—技术开源

OpenHarmony开发者

OpenHarmony

企业大数据分析系统可以给企业主带来哪些帮助?

夜雨微澜

亚信科技AntDB &U8 cloud联合产品亮相U8 cloud信创云ERP新品体验会(西安站)

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 8 月 PK 榜

IT工程化,提升数科公司运营能力

用友BIP

数科公司

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