postgresql - Postgres jsonb null vs 空对象查询性能

标签 postgresql jsonb

假设有以 jsonb 格式存储的键值数据字段,对于某些(少数)记录可能不存在,对于这种情况更可取,性能明智 - 空字段或空 json 对象?

要通过一些键值标准查询数据,难度不比:

SELECT * FROM table WHERE id = :id AND jsondata @> '{"key1":"value1"}

并且可能在未来被编入索引,所以问题在于查询 - 空字段是否会比具有空对象的字段更快地被跳过?

最佳答案

NULL 作为位集存储在行标题中,因此可以略快地跳过它们,但如果您只有“少数”记录具有 NULL 值,则差异不太可能会引人注意。

您还可以创建部分索引来排除 NULL。

关于postgresql - Postgres jsonb null vs 空对象查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36286285/

相关文章:

mysql - 在关系数据库中实现高效的外键

sql - 使用 Postgres 9.5 GIN 索引和 JSONB

sql - 加快嵌套在 jsonb 对象数组中的键值的范围测试

json - 将 JSON 字符串插入 Postgres 并返回字段

php - 如何按优先级和日期排序?

postgresql - 数据库代理支持哪些 RDS 数据库实例?

postgresql - Docker 卷数据不会保存到 mac 中的主机文件夹

postgresql - 如何在 slonik/postgres 查询中传递参数化的 INTERVAL?

postgresql - 在 Postgresql 中从 JSONB 中提取值

postgresql - postgres9.4 循环通过 jsonb : how select vals of key:val pairs