"JSONB"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(사용자 2명의 중간 판 12개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;jsonb
;JSON binary column, JSON binary (JSONB)
;JSON 바이너리 컬럼, JSON 바이너리 (제이슨비)
* [[PostgreSQL]]에서 제공하는 자료형의 하나로서, json 자료형과 함께 제공된다.
* [[PostgreSQL]]에서 제공하는 자료형의 하나로서, json 자료형과 함께 제공된다.
** json 자료형: 입력 텍스트를 변형 없이 그대로 저장한다. 특별한 전처리 비용은 없으나 매번 실행 시 함수를 다시 파싱해야 한다.
{| class='wikitable'
** jsonb 자료형: 바이너리 포맷으로 저장한다. 전처리 시 변환 비용이 있으나 처리는 상당히 더 빠르며 이후에 다시 파싱할 필요가 없다. json과 달리 인덱싱도 지원한다.
|-
| json 자료형  
|
* 입력 텍스트를 변형 없이 그대로 저장함
* 특별한 전처리 비용은 없으나 매번 실행 시 함수를 다시 파싱해야
|-
| jsonb 자료형
|
* 바이너리 포맷으로 저장함
* 전처리 시 변환 비용이 있으나 처리는 상당히 더 빠르며 이후에 다시 파싱할 필요가 없음
* json과 달리 인덱싱도 지원함
|}
* 오브젝트 키의 순서가 중요한 상황 등 특별한 경우가 아닌 이상 jsonb 사용이 권장된다.
* 오브젝트 키의 순서가 중요한 상황 등 특별한 경우가 아닌 이상 jsonb 사용이 권장된다.


== json, jsonb의 입력과 출력 예시 ==
== json, jsonb의 입력과 출력 예시 ==
<source lang='sql'>
<syntaxhighlight lang='sql'>
SQL> SELECT '{"bar": "baz", "balance": 7.77, "active":false}'::json;
SQL> SELECT '{"bar": "baz", "balance": 7.77, "active":false}'::json;
                       json                       
                       json                       
19번째 줄: 31번째 줄:
  {"bar": "baz", "active": false, "balance": 7.77}
  {"bar": "baz", "active": false, "balance": 7.77}
(1 row)
(1 row)
</source>
</syntaxhighlight>
 
==같이 보기==
* [[JSON]]
* [[BSON]]


== 외부 링크 ==
== 외부 링크 ==
* https://www.postgresql.org/docs/9.4/static/datatype-json.html
* https://www.postgresql.org/docs/9.4/static/datatype-json.html
* https://coussej.github.io/2016/01/14/Replacing-EAV-with-JSONB-in-PostgreSQL/


[[분류:SQL]]
[[분류: PostgreSQL]]
[[분류: JSON]]

2020년 11월 2일 (월) 02:54 기준 최신판

1 개요[ | ]

JSON binary column, JSON binary (JSONB)
JSON 바이너리 컬럼, JSON 바이너리 (제이슨비)
  • PostgreSQL에서 제공하는 자료형의 하나로서, json 자료형과 함께 제공된다.
json 자료형
  • 입력 텍스트를 변형 없이 그대로 저장함
  • 특별한 전처리 비용은 없으나 매번 실행 시 함수를 다시 파싱해야 함
jsonb 자료형
  • 바이너리 포맷으로 저장함
  • 전처리 시 변환 비용이 있으나 처리는 상당히 더 빠르며 이후에 다시 파싱할 필요가 없음
  • json과 달리 인덱싱도 지원함
  • 오브젝트 키의 순서가 중요한 상황 등 특별한 경우가 아닌 이상 jsonb 사용이 권장된다.

2 json, jsonb의 입력과 출력 예시[ | ]

SQL> SELECT '{"bar": "baz", "balance": 7.77, "active":false}'::json;
                      json                       
-------------------------------------------------
 {"bar": "baz", "balance": 7.77, "active":false}
(1 row)

SQL> SELECT '{"bar": "baz", "balance": 7.77, "active":false}'::jsonb;
                      jsonb                       
--------------------------------------------------
 {"bar": "baz", "active": false, "balance": 7.77}
(1 row)

3 같이 보기[ | ]

4 외부 링크[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}