Challenges/정보처리기사

[정보처리기사]3.데이터베이스 구축/SQL 활용/쿼리성능 최적화

뚱요 2022. 6. 18. 00:00
반응형

 쿼리성능 최적화 

- 데이터 입, 출력 애플리케이션의 성능 향상을 위해 SQL 코드를 최적화하는 것

- 쿼리 성능 최적화하기 전, 성능 측정 도구인 APM(Application Performance Management)을 사용해 최적화 할 쿼리를 선정해야 함

- 최적화 할 쿼리에 대해 옵티마이저가 수립한 실행 계획(Execution Plan)을 EXPLAIN 명령어를 통해 검토하고, SQL 코드와 인덱스 재구성

 

1. 옵티마이저(Optimizer):

작성된 SQL이 가장 효율적으로 수행되도록 최적의 실행방법을 찾아 결정하는 모듈

1.1 실행 계획(Execution Plan)

  • 사용자가 질의한 SQL문에 대해 ‘최적의 실행 방법’
  • EXPLAIN  명령어로 그래픽, 텍스트로 확인

1.1.1 최적의 실행 방법 결정하는 방식 

  RBO(Rule Based Optimizer, 규칙 기반 옵티마이저) CBO(Cost Based Optimizer, 비용 기반 옵티마이저)
최적화 기준 DBA가 사전에 정의한 규칙에 정의된 우선순위 액세스 비용( 입출력 속도, CPU사용량, 블록 갯수, 개체 속성)
성능 기준 개발자의 SQL 숙련도 옵티마이저 알고리즘의 예측 성능
특징 실행 계획 예측이 쉬움 성능 통계치 정보 활용, 예측이 복잡함
고려사항 개발자의 규칙 이해도, 규칙의 효율성 비용 산출 공식의 정확성

1.2 SQL 코드 및 인덱스 재구성

(1) SQL 코드 재구성

-서브 쿼리에 특정 데이터가 존재하는지 확인 할 때는 IN보다 EXISTS 활용

-실행 계획이 잘못되었다고 판단되는 경우 힌트(Hint)를 활용해 변경

-WHERE 절 사용하여 연산자 제한

(2)  인덱스 재구성

-인덱스의 추가 및 변경은 해당 테이블을 참조하는 다른 SQL문에도 영향을 줄 수 있으므로 신중히 결정

-단일 인덱스로 쓰기나 수정 없이 일기로만 사용되는 테이블의 경우 IOT(Index-Organized Table) 구성 고려

-불필요한 인덱스 제거

 

 

[정보처리기사 ] 정보처리기사 필기 목차

 

[정보처리기사] 개정된 정보처리기사 필기 목차

 정처기 필기 100문제 중 각 챕터 당 20문제로 구성됩니다. 출판사 시나공의 정보처리기사 교재와 이전 기출문제들을 참고로 하여 간단히 키워드로요약하여 작성하였습니다. 각 중요도에 따라서

potato-potahto.tistory.com

 

반응형