假设存在以jsonb
格式存储的键值数据的字段,对于某些(少数)记录可能不存在,对于该情况,优选的,性能明智的是 - 空字段或空json宾语?
一些关键值标准要查询数据并不比:
困难得多SELECT * FROM table WHERE id = :id AND jsondata @> '{"key1":"value1"}
并且可能在将来编入索引,所以关注的是关于查询 - 是否将空字段快速跳过具有空对象的字段?
答案 0 :(得分:1)
NULL在行标题中存储为bitset,因此可以略快地跳过它们,但如果只有“NULL”值的“少数”记录,则差异不太明显。
您还可以创建部分索引以排除NULL。