[PostgreSQL] 쿼리 성능 최적화 과정
·
개발 (Development)/PostgreSQL
PostgreSQL에서 특정 쿼리의 성능을 개선하기 위해 인덱스 추가, 서브쿼리 최적화, JOIN 최적화 등의 작업을 수행한 과정을 공유합니다.1. 성능 개선 전 쿼리다음은 성능 개선 전의 PostgreSQL 쿼리입니다.WITH data_main AS ( SELECT model_type, event_time, object_id, performance_score, param_details, similarity_metric, similarity_value, prediction_name, prediction_value, category_name, category_percentage FROM sample_table WHERE event_time BETWEEN ..
[PostgreSQL] 특정 데이터베이스에 접속하기
·
개발 (Development)/PostgreSQL
PostgreSQL 데이터베이스에 특정 DB(test_db)로 접속하는 방법을 소개합니다. 다양한 환경에서 손쉽게 접속할 수 있는 명령어와 코드 예제를 정리했습니다.1. psql 명령어 사용 (터미널)터미널에서 psql 명령어를 사용해 PostgreSQL에 접속할 수 있습니다.기본 형식:psql -h [호스트] -p [포트] -U [사용자명] -d test_db예시:psql -h localhost -p 5432 -U myuser -d test_db-h : 호스트 주소 (기본은 localhost)-p : 포트 번호 (기본은 5432)-U : 사용자명-d : 데이터베이스 이름 (test_db)접속 후 프롬프트(test_db=>)가 나타나면 SQL 쿼리를 실행할 수 있습니다.Tip: PostgreSQL이 설치..
[PostgreSQL] PostgreSQL에서 중복 데이터가 조회 성능과 인덱스에 미치는 영향
·
개발 (Development)/PostgreSQL
데이터베이스 설계와 관리에서 중복 데이터는 성능 및 저장 효율성에 중요한 영향을 미칩니다. PostgreSQL에서 중복 데이터가 조회 성능과 인덱스 효율성에 어떤 영향을 미치는지 알아보고, 이를 해결하거나 완화할 수 있는 방법을 살펴보겠습니다.1. 중복 데이터가 조회 성능에 미치는 영향PostgreSQL에서 특정 컬럼이나 레코드에 중복 데이터가 많을 경우, 이는 다음과 같은 방식으로 조회 성능에 영향을 미칠 수 있습니다:불필요한 I/O 증가: 중복된 데이터가 많으면, 특정 값을 조회할 때 일치하는 레코드가 많아져 테이블에서 다시 확인(Heap Fetch)해야 하는 블록의 수가 증가합니다. 이는 디스크 I/O 비용을 높이고, 전체 쿼리 응답 시간이 느려지는 결과를 초래합니다.쿼리 플래너의 비효율적 실행 계..
[Python] Python을 활용한 서로 다른 데이터베이스 쿼리 결과 비교 및 엑셀 매핑
·
개발 (Development)/Python
데이터 분석이나 시스템 통합 작업에서는 서로 다른 데이터베이스에 저장된 정보를 통합하고 비교해야 하는 경우가 많습니다. 이번 글에서는 서로 다른 PostgreSQL 데이터베이스 쿼리 결과를 Python으로 가져와 비교하고, 엑셀 파일의 정보를 매핑하여 유사도를 계산하는 전체 과정을 설명합니다.문제 정의두 개의 PostgreSQL 데이터베이스에서 각각 데이터를 쿼리합니다.쿼리 결과를 조인하여 하나의 데이터프레임으로 병합합니다.병합된 데이터프레임을 엑셀 파일과 비교하여 태그 정보를 매핑합니다.엑셀 파일에 있는 details 컬럼과 병합된 데이터의 description을 비교하여 유사도를 계산합니다.데이터 처리 단계1. PostgreSQL 데이터베이스 연결 및 쿼리 실행서로 다른 데이터베이스에서 쿼리 결과를 ..
[PostgreSQL] 배열 기반 데이터에서 특정 요소의 기울기 계산하기
·
개발 (Development)/PostgreSQL
이번 포스트에서는 PostgreSQL에서 배열을 활용한 데이터 처리와 특정 조건에 따른 기울기 계산 방법을 소개합니다. 특히 데이터가 배열 형태로 저장되어 있고, 각 배열의 인덱스에 해당하는 값들 간의 관계를 기반으로 중간값 및 기울기를 계산하는 시나리오를 다룹니다.문제 설명주어진 테이블은 다음과 같은 컬럼을 포함하고 있습니다:timestamp_col: 이벤트가 발생한 시간asset_identifier: 자산 식별자feature_names: 이름을 포함한 배열feature_values: 값들을 포함한 배열데이터 예시는 다음과 같습니다:timestamp_col asset_identifier feature_names feature_values2025-01-01 12:00:00ASSET_XYZ['a', 'b'..