Sql 何时使用JSON[]而不是JSON?
假设我在Postgres中插入一个JSON对象数组,例如:Sql 何时使用JSON[]而不是JSON?,sql,json,database,postgresql,database-design,Sql,Json,Database,Postgresql,Database Design,假设我在Postgres中插入一个JSON对象数组,例如: [{ s: 'hi', a: true, b: false }, { s: 'bye', a: false, b: true }] 我可以: create table test(a json); insert into test values ('[{ "s": "hi", "a": true, "b": false }, { "s": "bye", "a": false, "b": true }]'); 或 这两种方法的优点/缺点
[{ s: 'hi', a: true, b: false }, { s: 'bye', a: false, b: true }]
我可以:
create table test(a json);
insert into test values ('[{ "s": "hi", "a": true, "b": false }, { "s": "bye", "a": false, "b": true }]');
或
这两种方法的优点/缺点是什么?切勿将两者混用
jsonb
,存在较小的空间和解引用开销ARRAY
JSON[]
解引用时甚至有更大的开销(有害成分)另外,除非您知道何时使用
JSON
,否则不要使用JSON
。您几乎总是想要JSONB
。我甚至不会担心角落里的情况。永远不要把两者混为一谈
jsonb
,存在较小的空间和解引用开销ARRAY
JSON[]
解引用时甚至有更大的开销(有害成分)另外,除非您知道何时使用
JSON
,否则不要使用JSON
。您几乎总是想要JSONB
。我甚至不会担心角落里的案子。永远不会。我看不到json[]的任何优点。永远不会。我看不出json[]有什么优点。
create table test2(a json[]);
insert into test2 values (array['{ "s": "hi", "a": true, "b": false }', '{ "s": "bye", "a": false, "b": true }']::json[]);