定義
JSONB 是 PostgreSQL 中的一種資料型態,將 JSON 轉為二進位格式儲存(Binary JSON)。
特性
- 彈性結構:類似 NoSQL 的 schema-less 設計
- 可建立索引:支援 GIN index,查詢效能佳
- 結合關聯式優勢:在 PostgreSQL 中同時享有 RDBMS 與 NoSQL 的彈性
JSON vs JSONB
| 比較項目 | JSON | JSONB |
|---|---|---|
| 儲存格式 | 原始文字 | 二進位 |
| 查詢速度 | 較慢 | 較快(可建 index) |
| 寫入速度 | 較快 | 較慢(需轉換) |
| 保留順序 | 是 | 否 |
| 重複 key | 保留全部 | 後者覆蓋前者 |
使用場景
適合需要彈性 schema 但又想保有關聯式查詢能力的情境。