본문 바로가기

인덱스2

인덱스 페이지 확인하는 방법 (FT. DBCC IND, DBCC PAGE) 이번시간엔 인덱스 파일을 확인 하는 방법에 대해 포스팅 하고자 합니다. 이전과 같이 SQL SERVER에서 제공하고 있는 'Northwind' 샘플 DB를 통해 진행하겠습니다. 인덱스 ID 확인 SELECT * FROM SYS.indexes WHERE object_id = OBJECT_ID('Orders') AND name = 'PK_Orders' 조회하고 싶은 인덱스의 id 값을 확인하기 위해 위 쿼리로 인덱스 상세정보를 조회합니다. 인덱스 파일 ID, 페이지 ID 값 확인 DBCC Ind(Northwind, Orders,1) DB명, 테이블명, 인덱스 (위 쿼리로 확인한 ID값) 을 차례로 넣어주면 아래와 같은 결과를 얻을 수 있습니다. 이 아래 데이터 가운데, INDEXLEVEL = 0인 데이터가 .. 2022. 2. 13.
SQL SERVER 인덱스 탐색방법 (INDEX SEEK, INDEX SCAN) 오늘은 SQL SERVER의 인덱스 탐색방법에 대해 포스팅 하고자 합니다. INDEX SCAN 인덱스의 리프 페이지를 모두 스캔하는 방식으로 수행됩니다. 흔히 말하는 풀스캔으로 이해하시면 좋을 것 같습니다. 실행계획에 표기된 INDEX SCAN 동작 방식이 무조건 성능 저하를 발생시키는 요인으로 알려져 있지만, 아래 케이스와 같이 예외적인 케이스가 있다는 것도 참고 하시길 바랍니다. INDEX SEEK (인덱스 탐색) 인덱스 탐색은 필요한 리프페이지만 탐색하여 접근합니다. 탐색 순서는 루트 -> 브랜치 -> 리프 페이지이며, 자세한 설명은 인덱스 페이지 구조 및 확인 방법에서 다시 포스팅할 예정입니다. 일반적인 OLTP 환경에서 적합한 방식이며, 옵티마이저 (성능 최적화 프로그램)이 INDEX SEEK .. 2022. 2. 12.