























这是一个创建于 1682 天前的主题,其中的信息可能已经有所发展或是发生改变。
比如我有一个 JSONField 字段,内容如下
{
"A": 1,
"B": 2
}
我想筛选字段 "A" 的值为 2 ,或者 字段里面包含 B 这个 Key ,这种条件下,Django 的索引会加快查询速度么?
1 Vegetable 2021 年 11 月 5 日其实文档里有介绍一些 https://docs.djangoproject.com/zh-hans/3.2/ref/models/fields/#jsonfield 索引 Index 和 Field.db_index 都创建了一个 B 树索引,在查询 JSONField 的时候并不是特别有用。仅在 PostgreSQL 上,可以使用 GinIndex 比较适合。 PostgreSQL 用户 PostgreSQL 有两种基于 JSON 的原生数据类型:json 和 jsonb 。json 和 jsonb 。它们之间的主要区别在于它们的存储方式和查询方式。PostgreSQL 的 json 字段是作为 JSON 的原始字符串表示来存储的,当根据键来查询时,必须同时进行解码。jsonb 字段是基于 JSON 的实际结构存储的,它允许索引。这样做的代价是在写入 jsonb 字段时增加了一点成本。JSONField 使用 jsonb 。 Oracle 用户 Oracle 数据库不支持存储 JSON 标量值。只支持 JSON 对象和数组(在 Python 中使用 dict 和 list 表示)。 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。