PostgreSQL 4

PostgerSQL Upsert 쿼리 개념 및 대용량 속도 차이 예제

개요안녕하세요 빈코입니다. 오늘은 DB 쿼리 중에 유용하게 사용되는 Upsert문에 대해서 포스팅 하려 합니다. Upsert문은 데이터를 삽입(Insert)하거나 수정(Update)하는 작업을 동시에 처리하는 SQL문입니다. 이 문은 주로 "존재하면 업데이트, 없으면 삽입"하는 형태로 동작하며, 기존 데이터가 있으면 수정하고 없으면 새로 추가하는 방법입니다. 좀 더 자세한 방법은 하단에서 살펴볼게요😁 Upsert문 개념📙Upsert문은 개요에서 설명한 바와 같이 데이터를 삽입 및 수정을 동시에 처리하는 SQL문입니다. 여기서 존재하면 업데이트, 없으면 삽입하는 과정이 필요한데, 어떤 값을 기준으로 존재 여부를 판단하는지는 CONFLICT 절에 의해서 판단됩니다. INSERT INTO table_nam..

TIL 2024.11.23

PostgreSQL Join 활용 예제

오늘은 PostgreSQL에서 Join을 활용하는 예제를 살펴보려고 합니다. 제가 실무에서 겪은 이슈 중에 Left Join을 사용하여 손쉽게 쿼리를 작성했던 것을 다른 예시를 통해서 해결방법을 보여드리려고 합니다😁 개요 앞서 말씀드렸듯이, 실무에서 겪었던 이슈를 Join을 통해 손쉽게 해결했던 경험을 말씀드리려고 합니다. 상황은 mybatis를 사용하지 못하고 오직 쿼리로만 해결해야 했던 이슈입니다. 이슈를 간단하게 설명드리면, 고객사에서 기존에 진행했던 설정 방식과 달리 다른 방식으로 마이그레이션 하는 작업이기 때문에, 따로 Java 프로젝트를 실행시키는 것이 아닌 DB 구조만 바꾸는 과정이었습니다. 💡 제가 다니는 회사는 DBPatcher라는 프로젝트가 있어서 원하는 쿼리를 DBPatcher 프로그..

TIL 2023.08.03

PostgreSQL JSON 데이터 활용 II

오늘은 저번 포스팅에 이어 PostgreSQL에서 JSON 데이터를 활용하는 더 다양한 방법들을 소개하려고 합니다😁 개요 저번 포스팅에서는 JSON 데이터를 가져오는 다양한 연산자와 집계함수에 대해 설명했습니다. 이번 포스팅에서는 JSON과 JSONB의 차이, JSON 객체를 생성하는 방법, JSONB 값을 배열로 집계하는 방법 등 더 다양한 함수들을 소개하려 합니다. JSON과 JSONB의 차이📙 가장 큰 차이점은 JSON은 입력받은 텍스트 값을 그대로 DB에 저장하기 때문에 DB에 INSERT 할 때는 성능이 좋습니다. 하지만 JSONB는 입력받은 문자열에서 공백을 제거해 주고, 인덱싱 처리를 하기 때문에 DB에 INSERT 할 때 쓰기 비용이 발생합니다. 이렇게만 본다면 성능이 좋은 JSON을 자주..

TIL 2023.06.01

PostgreSQL JSON 데이터 활용

PostgreSQL은 관계형 데이터베이스이고 JSON(Javascrpit Object Notation)은 데이터를 저장하고 교환하기 위한 경량의 데이터 형식입니다. JSON 데이터를 활용하면 칼럼을 추가할 필요 없이 해당 JSON 칼럼에만 추가하면 되기 때문에 상당히 편리하게 사용이 가능합니다. 개요 앞서 말씀드렸듯이, PostgreSQL은 JSON 데이터를 저장하고 쿼리하는 데에도 지원을 제공합니다. PostgreSQL에서 JSON 데이터는 JSON형식으로 표현된 문자열로 저장됩니다. 이 문자열은 테이블의 열에 저장될 수 있으며, JSON 데이터는 구조화된 데이터를 표현할 수 있어, 키-값 쌍의 컬렉션 형태로 저장이 가능합니다. JSON 데이터는 일반적인 텍스트 형식이기 때문에 PostgreSQL에서는..

TIL 2023.05.30