使用Postgres JSON列它只存储JSON,因此相同的JSON值但具有更长的键名将占用更多的磁盘空间。这也是JSONB列的情况,或者二进制抽象是否回避这个?
答案 0 :(得分:0)
看起来JSONB列没有大小优势,行中有重复的键。
我创建了两个表:
CREATE TABLE temp_a (a_column json);
CREATE TABLE temp_b (b_column jsonb);
并继续将{"abcdefghijklmnopqrstuvwxyz": 1}
插入其中。表格的大小从8192
增加到16384
,然后以相同的速度增加49152
。
SELECT pg_table_size('temp_a'); SELECT pg_table_size('temp_b');