NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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 读者交流群)。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2015-10-28 19:007855
用户头像

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

关注

评论

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

dapp智能合约系统开发技术流程分析

开发微hkkf5566

一起学习ML和DL中常用的几种loss函数

华为云开发者联盟

人工智能 企业号九月金秋榜

【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务安卓卡片接入指南

荣耀开发者服务平台

手机 安卓 卡片服务 widget honor

OceanBase 核心能力解读和支付宝实践|9月17日广州见

OceanBase 数据库

JAVA学习1_PATH环境变量配置

Java-fenn

Java

为什么阿里人能够快速成长?看完他们 Java 架构进化笔记,我秒懂!

Java-fenn

Java java面试 Java面试题

JAVA面试题——CAS原理

Java-fenn

Java

易周金融分析 | 数字人民币生态发展等再迎监管重磅发言;易观千帆发布用户体验GX指数

易观分析

用户体验 数字人民币 GX指数

Java面向对象8——抽象类和抽象方法(知识点+使用方法)

Java-fenn

Java

【JAVA】基于GUI界面编程的水果“人生”模

Java-fenn

Java

阿里前端常见面试题(附答案)

coder2028

JavaScript 前端

Java 多线程:锁(一)

Java-fenn

Java

vue2数据响应式原理——数据劫持(数组篇)

海底烧烤店ai

Vue 前端 9月月更

java读取movielens数据txt

Java-fenn

Java

基于Java springMVC+MySQL的大学校园BBS论坛网站设计与实现

Java-fenn

Java

ThreadLocal源码解析:巧用弱引用解决内存泄漏问题

程序员小毕

Java 源码 程序员 面试 高并发

【Java入门】十八 面向对象的三大特征之一-继承

Java-fenn

Java

给数据技术初学者:解读从数据编织到增强分析20个最新数据技术概念

雨果

数据湖 数据编织 数仓一体

2022年9月中国数据库排行榜:榜眼、探花纷纷易主,AnalyticDB蝉联榜单十强

墨天轮

数据库 opengauss TiDB 国产数据库 达梦

LED柔性屏的发展趋势

Dylan

柔性屏 LED显示屏 led显示屏厂家

为什么Java流行了这么久,而Scala来去匆匆?

Java-fenn

Java

企业数据治理过程中都要经历的四个阶段?你的企业处在哪个阶段?

雨果

数据治理

leetcode 110. Balanced Binary Tree 平衡二叉树(简单)

okokabcd

LeetCode 数据结构与算法

滴滴前端一面必会面试题汇总

hellocoder2029

JavaScript 前端

vue2数据响应式原理——依赖收集和发布订阅

海底烧烤店ai

Vue 前端 9月月更

Java必会基础题,量不多,但每天进步一点也是好的

Java-fenn

Java

京东前端常考面试题(附答案)

coder2028

JavaScript 前端

vue2数据响应式原理——数据劫持(初始篇)

海底烧烤店ai

Vue 前端 9月月更

Java基础 | 关于Final Static Abstract修饰需要注意的地方

Java-fenn

Java

JAVA:List 与 数组 相互转换

Java-fenn

Java

如何將私有的 JAR 檔加入到由 Apache Maven 管理的 Java 專案中

Java-fenn

Java

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