본문 바로가기

Database/Postgres2

postgreSql) 선분이력 테이블 수정된 데이터를 이력으로 관리하는 서비스를 제공해야 해서 해당 테이블에 대한 선분 이력 테이블을 DA분께 설계 요청드렸고 생성된 테이블을 통해 기능을 완성했다 활용한 선분 이력 테이블에 대해서 정리해보았다 선분 이력 테이블이란? 이력을 관리하는 테이블로서 시작 시점과 종료 시점으로 데이터 이력을 관리한다 선분 이력 테이블 활용방법? original 테이블에서 변경사항이 발생했을 때, 최신 값을 기본 테이블에 수정하고 수정하기 이전의 레코드를 복사해서 history(선분 이력) 테이블에 추가한다 history 테이블에 추가할 때 종료일시와 시작 일시를 기록하는데, 종료일시는 변경하는 시간(현재시간), 시작 일시는 최초 입력 시 '19700101000000'로 입력한다 동일한 레코드의 두 번째 변경사항이 발.. 2022. 5. 2.
postgreSql) Gin index생성 postgresql은 기본적으로 b-tree 기반의 인덱싱 구조를 default로 가지고 있기 때문에 타입을 지정하지 않고 인덱스 생성 시 b-tree 구조로 선택이 된다 해당 index가 추가되어 있을때 아래의 연산자를 사용하여 비교에 포함될 때마다 btree 인덱스 사용을 고려한다 SQL 작성 시 위의 연산자와 같이 많이 사용되는 연산자로 like 연산자가 있다 특정 구성 요소 값의 존재 여부를 검색할 때는 btree 로는 해결이 되지 않고 postgreSql에서 제공하는 인덱스 중 gin index를 사용할 수 있다 like 연산자의 속도 개선을 위해 gin index를 생성하고 사용해 봤다 CREATE EXTENSION pg_trgm; gin index(pg_trgm)를 생성해준다 CR.. 2022. 4. 27.