PostgreSQL 5

PostgreSQL | 데이터 표준화 및 정규화 작업함수 - normalize

이번에 검색기능 및 하이라이트를 작업하면서 알게된 함수입니다 :) 파일 다운로드를 하고, 이미지의 이름을 가져올 때 한국어가 표준화가 안되어 검색이 안되는 현상이 있었는데,PostgreSQL 'normalize' 함수를 사용하여 해결하였습니다 :)데이터베이스 설계에서의 정규화데이터베이스 설계에서 정규화(normalization)란 데이터베이스 테이블을 설계할 때 중복을 최소화하고 데이터 무결성을 유지하기 위한 과정을 말합니다. 주로 관계형 데이터베이스에서 사용되며, 일반적으로 다음과 같은 정규화 단계가 있습니다.  제 1정규화(1NF) 모든 컬럼 값이 원자적(atomic)이어야 합니다. 즉, 각 셀에는 하나의 값을 가지며, 다중 값 속성이 없어야 합니다.  제 2정규화(2NF)부분 함수 종속을 제거하여 ..

Database 2024.07.12

Database | DB Query Optimizer의 실행계획 선택시, 고려 비용 요소들

DB total cost 데이터베이스 쿼리 실행 계획(Execution Plan)에서의 total cost는 쿼리를 실행하는데 필요한 예상 비용을 나타내는 지표입니다. 모든 행을 반환하는데 걸리는 예상 시간입니다. Access Method Cost(접근 방식 비용) 특정 테이블에 엑세스하기 위해 사용되는 비용으로, 인덱스 스캔, 풀 테이블 스캔 등과 같은 다양한 엑세스 방식이 고려됩니다. 인덱스 스캔은 조건에 맞는 행을 찾는데 인덱스를 사용하는 것입니다. 풀 테이블 스캔은 전체 테이블을 순차적으로 읽는 것입니다. Access Method Cost는 각 엑세스 방식에 대한 비용을 측정하여 최적의 엑세스 방법을 선택하는데 사용됩니다. Join Cost(조인 비용) 두 개 이상의 테이블을 조인할 때 발생하는 ..

Database 2024.02.28

PostgreSQL | 모니터링 SQL 정리

유용한 모니터링 SQL 쿼리들을 정리하려고 합니다. 1. pg_stat_activity - 현재 실행중인 쿼리와 세션 정보 SELECT * FROM pg_stat_activity; PostgreSQL 서버에서 현재 실행중인 활동 및 세션 정보를 제공합니다. datid, datname, pid, usesysid, usename, application_name, client_addr, client_hostname, client_port, backend_start, xact_start, query_start, state, waiting, state_change, query 등이 포함될 수 있습니다. 2. pg_stat_user_indexes - 인덱스 사용률 확인 SELECT relname, indexreln..

Database 2024.02.27

PostgreSQL | 데이터를 한 테이블에서 다른 테이블로 복사하거나 이동 쿼리

PostgreSQL에서 SELECT 문의 결과를 이용해 지정한 테이블에 새로운 행을 삽입하는 쿼리입니다. INSERT INTO target_table SELECT column1, column2, ... FROM source_table WHERE condition; target_table : 데이터를 삽입할 대상 테이블의 이름 SELECT column1, column2, ... 원본 테이블에서 선택할 컬럼 목록 source_table : 데이터를 가져올 원본 테이블의 이름 WHERE condition : 필요에 따라 조건을 지정하여 특정 행만 선택 가능 특정 테이블을 다른 테이블로 조건을 통해 복사하거나 이동할 때, 좋은 쿼리입니다.

Database 2024.02.27