High CPU usage query & Adding Index

By | Y2016Y2016-9M-D

CASE: 특정 쿼리가 CPU 사용률이 높아, DB hit 수 증가 시 CPU Spike(100% usage) 가 발생

Type: MSSQL 2012

이러한 경우, 이미 query 는 알고 있으나 이 쿼리에 대한 index 를 걸어주면 대부분 해결된다.

하지만, 긴급한 상황에서 Application Designer 가 없고 DBA 가 즉시 해결해야 할 경우에MS SQL 은 Wizard 가 잘 되어 있으므로, 다음과 같은 방법으로 임시 대응을 위한 MS SQL index 를  걸어보자.

다음 순서로 진행한다.

  1. SSMS 를 연다
  2. 최 상위 root 의 SQL Server Instance 에서 우 클릭 하여 “작업 모니터” 를 선택한다.
  3. 작업 모니터의 “비용이 드는 쿼리” 에서 문제가 되는 쿼리를 우 클릭하여 “실행 계획 표시” 를 선택한다.
  4. 실행 계획 중에서 높은 비용이 드는 작업 부분을 우 클릭하여 인덱스 관련 메뉴(“인덱스 없는..” 와 같이 표시)를 클릭한다.
  5. 새 탭에서 Wizard 가 생성해 준 index 의 메타정보(이름 등) 을 수정하여 인덱스를 걸어준다.
  • 이 작업은 “index 가 없어 실행결과에 문제가 생긴 경우” 로 실행 계획에서 평가된 경우에만 가능하다.

977 total views, 3 views today

댓글 남기기