Postgres jsonb null vs空对象查询性能

时间:2016-03-29 13:48:30

标签: postgresql jsonb

假设存在以jsonb格式存储的键值数据的字段,对于某些(少数)记录可能不存在,对于该情况,优选的,性能明智的是 - 空字段或空json宾语?

一些关键值标准要查询数据并不比:

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

并且可能在将来编入索引,所以关注的是关于查询 - 是否将空字段快速跳过具有空对象的字段?

1 个答案:

答案 0 :(得分:1)

NULL在行标题中存储为bitset,因此可以略快地跳过它们,但如果只有“NULL”值的“少数”记录,则差异不太明显。

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