本文へスキップ
onsuggest
ログイン
記事 zh

PostgreSQL与MySQL的JSON类型及Go语言处理

情報源: 鸟窝 ·

关系型数据库存 JSON 早就不稀奇了,但把它用对没那么简单。你得先分清 PostgreSQL 里 json 和 jsonb 到底差在哪、什么时候该建什么索引,再决定 Go 代码里怎么读写才不别扭。这篇就把这几件事讲清楚,代码都能直接抄进项目。 一、三种类型的本质区别 维度 PostgreSQL json PostgreSQL jsonb MySQL json 存储形式 原始文本(逐字节保存) 分解后的二进制 分解后的二进制 保留空格/键序 保留 不保留 不保留 保留重复键 保留 只留最后一个 只留最后一个 写入速度 快(不解析) 稍慢(要解析) 稍慢(要解析) 查询速度 慢(每次重解析) 快 快 支持索引 否(需表达式索引) GIN 索引 函数索引 / 多值索引 去重/规范化 否 是 是 一句话选型: PostgreSQL 绝大多数场景直接用 jsonb 。只有当你需要"原样存回、包括空格和键顺序"这种审计类需求时才用 json 。 MySQL 只有 json 一种 (内部实现类似 jsonb,二进制存储、支持部分更新)。

キーボードショートカット

前の発見
←P
次の発見
→N
いいね
L
合わない
X
保存
S
このヘルプを表示
?
閉じる
Esc

ショートカットは発見ページで使えます。