본문 바로가기

DB2

UNION ALL vs 서브쿼리 .. DB 속도 확인 프로젝트라는 폴더가 있는데 해당 부서의 직속임원, CEO의 권한을 갖고 있어도 안보이는 현상이 있어서 에러를 수정하였다. 문제 해결을 위해 부서의 직속임원과 CEO, Chairman 을 조회해오는 쿼리를 한번에 짜고 있던 중 UNION ALL 과 서브쿼리로 하는 것 중 더 효율적인 것으로 진행하려고 속도 측정 후 조금이라도 더 빠른 것으로 반영해봤다. 먼저 DBeaver에서 PostgreSql을 사용하고 있는데 속도 측정하는 명령어 'EXPLAIN ANALYZE' 를 사용하였다 1. UNION ALL SELECT 컬럼1(이름) FROM acl(테이블2) WHERE id = ( SELECT id FROM acl(테이블1) WHERE 그룹명컬럼 = concat('g_', (SELECT 부서구분컬럼 FROM .. 2022. 12. 5.
[postgreSql]DB Table lock 테이블 락 걸렸을 때 확인 및 킬(kill) 운영업무 중 로그 테이블에 추가로 데이터를 관리하기 위해 2가지 컬럼 추가 작업이 필요했다. 테스트 서버에서 먼저 단순 컬럼 추가 명령어로 컬럼 2개를 추가 후 테스트 서버에서 잘 사용확인 했는데,, 운영에서 퇴근시간에 맞춰 6시에 컬럼추가를 하려니 DB테이블(로그 테이블)이 락걸렸다.. 로그테이블은 시스템 기능의 많은 부분에 연관이 있어서 시스템 전체가 멈춰버렸다. 인프라팀도 퇴근을 한 상태라 구글에서 찾아본 뒤 인프라팀의 유선도움을 받아 해당 데이터 조회 후 킬을 진행했다. ### lock 테이블 조회 select datname, pid, usename, application_name, client_addr, client_port, backend_start, query_start, wait_event.. 2022. 11. 11.