有人能举例说明这句话试图传达的内容吗?我不确定我是否明白。
来自Postgresql网站(docs):
“JSON文档应该各自代表业务规则所规定的原子数据,不能合理地进一步细分为可以独立修改的较小基准”
http://www.postgresql.org/docs/9.4/static/datatype-json.html
答案 0 :(得分:0)
这里的原则是在PostgreSQL中,更新json文档需要更新json文档和 * 中包含的整行。因此,您通常应将它们保持在较小的位置并在适当的位置拆分。
例如,代替json文档,如:
{
"someobjects": [
{
"a": 1,
...
},
{
"b": 2,
...
},
...
],
"otherobjects": [
...
]
}
最好将其标准化为两个表someobjects
和otherobjects
,每个表都存储单个someobject
json文档。
使用数据为自由格式或变量结构的json
。规范化它不在哪里。
* PostgreSQL通常可以避免重写同一行中其他大字段的副本,如果它们使用TOAST
在线外存储,这会自动发生在哪里合适的。