join - 데이터 집합 레벨 변화💡 집합 레벨의 의미 집합 : 단일테이블,조인테이블,grup by 의 결과 등 의 조회 데이터 집합 레벨 : 집합(테이블)의 유일성(기본키)이 어떤 레벨(고유한지(Unique), 중복되는지(Many) ) 인지를 말한다.직원 테이블(emp)empnonamedeptno1Alice102Bob203Carol104Dave305Eve20- 직원 테이블 집합 레벨 : empno로 unique하며, deptno로 중복(M) 레벨이다. 부서 테이블(dept)deptnodeptname10HR20IT30Sales- dept 테이블 집합 레벨 : 기본키는 deptno임으로 유니크 레벨 이다. emp 테이블, dept 테이블 deptno로 조인selectemp.empname,dept.dep..
Connection pool JDBC API 를 이용해서 DB와 Connection 을 하는작업은 비용이 많이 발생한다. Connection Pool을 이용하면 애플리케이션 로딩 시점에 Connection 객체를 미리 생성하고, 애플리 케이션에서 디비 연결이 필요할 경우 미리 준비된 Connection 객체를 상용하여 애플리케이션 성능을 향상 시킬 수 있다. 다음은 MYSQL 문서에 나와있는 테이블이 행을 산입하는데 필요한 대략적인 수치(시간의 비율)이다. 아래 문서에서 알 수 있듯 행을 삽입할때 디비 연결 단계가 가장 비용(시간)이 든다는 것을 알 수 있다. 행을 삽입하는 데 필요한 시간은 다음에 따라 결정됩니다. 숫자는 대략적인 수치를 나타내는 다음 요소들 크기: 연결: (3) 서버로 쿼리 보내기: ..
Linux - directory structure 사진 출처 - https://linuxhandbook.com/linux-directory-structure/ 💡 리눅스 디렉토리 구조 설명 글 리눅스 배포판은Linux Foundation에서 유지관리하는 (FHS)파일시스템 계층구조 표준 v3.0을 따르기 때문에 거의 모두 동일한 파일 구조를 갖고있다. /bin 사용자가 실행할 수 있는 명령어 Binary파일들을 모아둔곳 (EX:) cat,touch,ping…) cd /bin /etc 호스트별 시스템 전체 구성파일이 있으며 프로그램들의 환경 설정을 할수있는 파일들이 있다. EC:) nginx.conf, java.conf, ssg.conf /usr 주로 시스템 유저가 설치한 소프트웨어와 관련된 파일들이 위치..
문제 상황 Postgres의 pg_dump 명령어를 사용 하기 위해 cmd에서 postgres(ArisysDB)접속 접속 후 psql (모든)명령어 입력 시 아래와 같은 에러 메시지 응답 'more'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 조치 했던 것 윈도우 psql 환경변수 설정 후 다시 시도 → 안됨 해결 방법 PAGER 환경 변수 설정 set PAGER=less psql 실행시 -P pager=off 옵션 추가하여 페이징 비활성화 psql -h 127.0.0.1 -d ArisysDB -U postgres -P pager=off \d 테이블 조회 PAGER 환경 변수 설정 후 psql 명령어 정상 실행 원인 일단 psql 콘솔에서 \d 명..
EXPLAIN 한 줄 요약 EXPLAIN == 쿼리의 성능을 분석 할 때 쓰이는 키워드 EXPLAIN ? EXPAIN,EXPAIN ANALYZE 키워드는 쿼리성능 분석할때 쓰이는 기본 키워드이다. EXPLAIN 뒤에 오는 쿼리는 실제로 실행되지 않는다. EXPLAIN ANALYZE “ANALYZE” 키워드를 사용하면 실제로 쿼리가 실행되고 성능이 측정된다. -- explain 명령어 테스트 EXPLAIN SELECT * FROM orders_2020_07_02; -- 콘솔 Seq Scan on orders_2020_07_02 (cost=0.00..10.70 rows=70 width=1060) -- 의미 cost=0.00..10.70 == 10.70만큼의 비용이 든다. rows=70 == 70행을 반환하는..
VACUUM 먼저 한 줄 요약 VACUUM은 DB 성능 향상 및 디스크 공간 효율적으로 사용하는 명령어 VACUUM? VACUUM은 PostgreSQL 에서 사용되지 않는 공간을 회수하고, 데이터 파일의 크기를 최적화 하는 명령어이다. VACUUM명령어를 통해 데이터베이스의 성능을 향상 시키고 디스크 공간을 효율적으로 사용 할 수 있다. -- orders 테이블 생성 CREATE TABLE orders ( id SERIAL PRIMARY KEY, product_name VARCHAR(100) NOT NULL, quantity INT NOT NULL, price NUMERIC(10, 2) NOT NULL ); -- 테스트 데이터 삽입 INSERT INTO orders (product_name, quanti..