JSONBは、テキストベースのJSONデータをバイナリ形式で格納し、高速な検索やクエリ処理を可能にします。以下に、JSONBの主な特徴と使用方法を解説します。
-
JSONBの主な特徴
- 効率的なデータ格納: JSONBは内部的にバイナリ形式でデータを格納するため、テキストベースのJSONデータよりも効率的にディスク容量を使用します。
- インデックスのサポート: JSONBデータ列に対してインデックスを作成することができます。これにより、JSONBデータ内の特定のキーまたはパスへのアクセスが高速化されます。
- 検索とクエリ処理: JSONBデータを対象に検索やクエリ処理を行うことができます。例えば、JSONBデータ内の特定のキーの値を検索する、条件に合致するJSONBデータを抽出するなどが可能です。
-
JSONBの使用方法とコード例 以下に、JSONBの使用方法とコード例を示します。
-
JSONBデータの格納:
CREATE TABLE posts ( id SERIAL PRIMARY KEY, title VARCHAR(255), tags JSONB );
-
JSONBデータの挿入:
INSERT INTO posts (title, tags) VALUES ('Post Title', '["tag1", "tag2", "tag3"]');
-
JSONBデータの検索:
SELECT * FROM posts WHERE tags @> '["tag1"]';
上記の例では、"posts"というテーブルに"title"と"tags"という列があり、"tags"列にJSONBデータが格納されています。"tags"列に対して@>
演算子を使用して、"tag1"を含むレコードを検索しています。
JSONBはPostgreSQLの強力な機能の一つであり、柔軟なデータ操作を可能にします。JSONBを活用することで、データベース内のJSONデータの格納と操作が容易になります。