공부 일지/정보처리산업기사

[정보처리산업기사] 오답노트 9

배똥회장 2022. 4. 15. 17:27
728x90

 

 

 

9. 쿼리 성능 최적화

  • 실행 계획에 표시된 연산 순서, 조인 방식, 테이블 조회 방법 등을 참고하여 SQL문이 더 빠르고 효율적으로 작동하도록 SQL 코드와 인덱스를 재구성하는 것을 의미
  • WHERE절을 추가하여 일부 레코드만 조회하게 함으로써 조회에 들어가는 비용을 줄임
  • WHERE절에 연산자가 포함되면 INDEX를 활용하지 못하므로 가능한 한 연산자 사용을 자제
  • 서브 쿼리에 특정 데이터가 존재하는지 확인할 때는 IN보다 EXISTS를 활용
  • 옵티마이저의 실행 계획이 잘못되었다고 판단되는 경우 힌트를 활용하여 실행 계획의 액세스 경로 및 조인 순서를 변경
  • SQL 코드에서 조회되는 속성과 조건들을 고려하여 인덱스를 구성
  • 실행 계획을 참고하여 인덱스를 추가하거나 기존 인덱스의 열 순서를 변경
  • 인덱스의 추가 및 변경은 해당 테이블을 참조하는 다른 SQL문에도 영향을 줄 수 있으므로 신중히 결정
  • 단일 인덱스로 쓰기나 수정 없이 읽기로만 사용되는 테이블의 경우 IOT(Index-Organized Table)로 구성하는 것을 고려
  • 불필요한 인덱스를 제거

 

 

 

 

 

728x90