본문 바로가기
728x90

분류 전체보기59

Maven Pom.xml 구조에 관하여 Jacoco (Java Code Coverage)를 퀵 테스트 해보고 싶어서프로젝트 생성하다가..추후 읽어보자! https://doosicee.tistory.com/entry/Maven%EC%9D%98-%EC%84%A4%EC%A0%95%ED%8C%8C%EC%9D%BC-Pomxml%EC%9D%84-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90 Maven의 설정파일 Pom.xml을 알아보자빌드 툴에 대해 공부하다 보면 Maven에 대해 알게 된다. Maven에 대해서 알게 됐다면 Maven의 설정 파일인 pom.xml에 대한 내용이 빠질 수 없으니 공부하며 정리하고 넘어가자. 빌드 툴이 뭔지는 이전doosicee.tistory.com 2025. 4. 29.
[PL/SQL] 대량 데이터 삭제 쿼리 업무에서 대량 데이터를 삭제하는 DB보정 작업을 할 일이 생겼다.(프로젝트팀에서 새로운 프로세스 개발할때 파기프로세스도 잊지말고 적용해주세요... plz...) 총 7개의 테이블에 약 500만건의 데이터를 삭제하는 건데.. 운영상 성능이 괜히 걱정되서 나의 친구 Chat GPT의 도움을 받아삭제 쿼리 짜면서 임시 테이블로 테스트하는 쿼리도 짜서 돌려봄..! (PL/SQL 공부도 겸사겸사.. 더 하자..!) 영향범위 파악 : 해당 7개의 테이블은 카드신청시 대외기관에서 조회한 정보를 적재 후 심사진행에서 활용되는 OLTP서비스 위주의 테이블이다. 즉, 실시간으로 일평균 각 테이블별 6천~ 1.3만 건의 데이터가 적재되고 있다.  분석 내용 : 삭제 해야하는 데이터는 1년 경과한 데이터부터 최근 데이터까지 .. 2025. 4. 1.
[DAP자격증] 과목5 - 옵티마이저(Optimizer)란? 1. 옵티마이저(Optimizer)란?**옵티마이저(Optimizer)**는 데이터베이스 관리 시스템(DBMS)에서 SQL을 실행할 때 최적의 실행 계획(Execution Plan)을 선택하는 역할을 하는 핵심 엔진이야.SQL이 실행되면, DBMS는 다양한 실행 방법을 고려할 수 있어. 예를 들어:인덱스를 사용할지, 풀 테이블 스캔을 할지Nested Loop Join을 할지, Hash Join을 할지병렬 처리를 활용할지, 단일 처리할지이러한 선택을 자동으로 결정하여 가장 효율적인 실행 계획을 선택하는 역할을 하는 것이 옵티마이저야.2. 옵티마이저의 종류옵티마이저는 SQL을 최적화하는 방식에 따라 두 가지 방식으로 나뉘어:1️⃣ 규칙 기반 옵티마이저(Rule-Based Optimizer, RBO)2️⃣ 비.. 2025. 3. 27.
[DAP자격증] 과목5 - SQL 통계정보 보는법 (Parse, Execute, Fetch) SQL 성능 개선을 위해 SQL 통계 정보를 확인할 때, CALL의 Parse, Execute, Fetch 단계와 COUNT, ROWS 값이 어떤 의미를 가지는지 정확히 이해하는 것이 중요해.1. SQL Call의 3가지 단계: Parse, Execute, Fetch데이터베이스에서 SQL을 실행하면 3가지 주요 단계를 거쳐.✅ 1) Parse (파싱 단계)SQL 문을 데이터베이스가 해석하고 실행 계획을 생성하는 과정주요 작업:SQL 문법 체크객체(테이블, 인덱스 등) 유효성 검증실행 계획(Execution Plan) 생성 또는 재사용 (Hard Parse vs. Soft Parse)🔹 Hard Parse vs. Soft ParseHard Parse: 처음 실행되는 SQL이거나 실행 계획을 새로 만들어야.. 2025. 3. 27.
[DAP자격증] 과목5 - 오버헤드(Overhead)란? 오버헤드(Overhead)란?**오버헤드(Overhead)**는 어떤 작업을 수행할 때 추가적으로 발생하는 비용(자원, 시간, 메모리 등)을 의미해.즉, 실제 작업을 수행하는 데 직접적인 기여를 하지 않지만, 부가적으로 필요한 것들이야.1. 오버헤드의 종류✅ 성능(연산) 오버헤드프로그램이나 시스템이 어떤 작업을 수행하는 데 필요한 추가적인 연산 비용예시:가상화 환경에서 CPU가 가상 머신을 관리하는 데 드는 연산 비용DB에서 쿼리 실행 시 인덱스를 유지하거나 캐시를 관리하는 데 드는 연산✅ 메모리 오버헤드프로그램이 실행될 때 추가적으로 소비하는 메모리예시:Python에서 동적 메모리 할당 시 발생하는 추가적인 메모리 사용량DB에서 트랜잭션을 관리하기 위한 로그 저장 공간✅ 네트워크 오버헤드데이터를 전송할.. 2025. 3. 27.
[DAP자격증] 5과목 - B-Tree 인덱스 vs. Bitmap 인덱스 B-Tree 인덱스 vs. Bitmap 인덱스데이터베이스에서 검색 성능을 최적화하기 위해 B-Tree 인덱스와 Bitmap 인덱스가 사용돼. 두 인덱스는 각각의 특성과 용도가 다르므로, 차이점을 이해하는 것이 중요해.1. B-Tree 인덱스 (Balanced Tree Index)B-Tree 인덱스는 대부분의 데이터베이스 시스템에서 기본적으로 사용되는 인덱스 구조야.🔹 B-Tree 인덱스의 특징트리 구조를 기반으로 균형(Balanced) 유지데이터가 계속 삽입, 삭제, 수정되어도 인덱스가 균형을 유지하여 성능이 일정함각 노드가 여러 개의 키 값을 저장할 수 있어 검색, 삽입, 삭제 시 성능이 안정적범위 검색(Range Scan)에 최적화되어 있음🔹 B-Tree 인덱스의 동작 방식루트 노드에서 시작하여 .. 2025. 3. 27.
728x90