일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 순위 파이썬
- 백준 1613 역사
- 다중 컬럼 NOT IN
- 프로그래머스 여행경로
- 가장 긴 바이토닉 부분 수열 파이썬
- 백준 1516 게임 개발
- 백준 1238 파티 파이썬
- 백준 2146 다리 만들기
- 백준 11054.가장 긴 바이토닉 부분 수열
- SQL SERVER 장비교체
- 백준 1034 램프 파이썬
- 가장 긴 팰린드롬 파이썬
- 램프 파이썬
- 프로그래머스 가장 긴 팰린드롬
- 게임 개발 파이썬
- 프로그래머스 순위
- SWEA
- 백준 1167 트리의 지름 파이썬
- 프로그래머스 등굣길
- SQL SERVER MIGRATION
- 다리 만들기 파이썬
- 역사 파이썬
- 백준 2352 반도체 설계 파이썬
- 백준 1043 거짓말 파이썬
- 등굣길 파이썬
- 프로그래머스 베스트앨범
- 베스트앨범 파이썬
- 반도체 설계 파이썬
- 트리의 지름 파이썬
- 프로그래머스 순위 파이썬
- Today
- Total
공부, 기록
[SQL Server] 동일한 컬럼을 가진 인덱스와 통계 본문
SP에서 Sort가 오래 걸리는 상황이 발생하여 정렬되는 기준으로 include 컬럼을 포함한 인덱스를 추가로 생성하였다.
기존 인덱스를 A
신규 인덱스를 B로 칭하면
A는 CREATE INDEX A ON TABLE_MINJAE (COL1, COL2 )
B는 CREATE INDEX B ON TABLE_MINJAE (COL1, COL2 ) INCLUDE (COL3) 인 상황.
SP에서 지연되는 부분에 INDEX 힌트로 B 인덱스를 강제하였을 때 Sort 지연이 해소가 되었는데. 실행계획을 자세히 확인하였을 때 해당 인덱스가 아니었어도 동일하게 해소가 되어야 하는 상황으로 보였다. B 인덱스 힌트를 제거하고 A 인덱스 힌트를 사용하였을 때 성능이 다시 좋아진 것을 확인하였고 신규 생성한 인덱스 B를 제거하였는데 삭제와 동시에 다시 SP가 지연되는 상황이 발생하였다.
이에 이상함을 느껴 인덱스 생성 전후로 해당 테이블의 통계들을 확인하였을 때 신규 인덱스 생성으로 통계만 신규로 생성이 되었다. 이후 B 인덱스를 제거 및 A 인덱스의 통계를 업데이트하여 성능을 다시 향상시켰다.
이 과정을 통해서 동일한 컬럼으로 인덱스가 2개가 생성된 상황에서 A 인덱스가 B의 인덱스 통계를 사용한 것으로 추측된다.
전체 타임라인은.
A 인덱스 (성능 감소) -> B인덱스 생성 및 인덱스 힌트 사용 (성능 상승) -> A 인덱스로 힌트 변경 (성능 상승) -> B 인덱스 제거 (성능 감소) -> A 인덱스 통계 업데이트 (성능 상승)
자칫 잘못하여 성능이 개선된 부분만 확인하고 넘겼을 때 불필요한 인덱스 생성 및 다시 상황이 재발할 수 있었다. 확인 및 정상적인 처리를 진행하여 다행이다.
인덱스 생성 전 실행계획

![]() | ![]() |
인덱스 생성 후 실행계획

![]() 경고가 제거 됨 | ![]() 미리 읽기가 제거 됨 |
'공부 > DATABASE' 카테고리의 다른 글
[SQL SERVER] 클러스터드 ,논 클러스터드 인덱스 생성 Lock (0) | 2024.04.29 |
---|---|
[SQL Server, MySQL] 데이터 플러시와 커밋 (0) | 2024.04.06 |
[SQL SERVER] DROP 과 TRUNCATE 는 정말 로그가 안 남을까 (0) | 2024.03.27 |
[SQL SERVER] Always On, 미러링 데이터 동기화 방식 (0) | 2024.03.27 |
[SQL Server] FCI, RSAG 구성 (0) | 2024.02.20 |