【发布时间】:2017-06-10 00:12:08
【问题描述】:
从多列与多行(或表)的其他答案看来,列对于规范化数据的性能更高。序列化数据呢?
我将存储许多正在进行的 Web 表单,即尚未验证的只是用户目前拥有的内容的转储,以便他们可以在另一个会话中继续。表单将被序列化为 json 并存储在 jsonb 列中。目前有十种形式,但将来会增加(更多)。
最好有一列有用户ID,每个表单都有一列:
CREATE TABLE "forms" (
"user_id" uuid NOT NULL,
"form_a" jsonb,
"form_b" jsonb,
"form_c" jsonb,
...
)
或包含用户 uuid、表单 id 和表单 json 列的多行:
CREATE TABLE "forms" (
"user_id" uuid NOT NULL,
"form_id" uuid NOT NULL,
"form_json" jsonb NOT NULL
)
我确信只查询一行会更快,但是如何更新具有许多 jsonb 列的行中的列呢?或将新的 jsonb 列添加到具有数百万行的表中?它在什么时候倾向于支持多行?
谢谢!
【问题讨论】:
标签: sql postgresql jsonb