MSSQL 기본
[MSSQL] Index Seek / Index Scan
Spiritup_91
2021. 1. 28. 23:54
- Index Seek
말 그대로 인덱스를 Seek한다. 찾는다.
인덱스를 엑세스 하여 오직 하나의 값
결과가 추출되지 않는 경우에 발생하는 실행 계획
- Index Scan
인덱스를 엑세스 하여 여러건의 데이터가 발생할 수 있는 실행 계획(범위 검색)
인덱스가 있으나 옵티마이저에서 Index seek가 Table scan보다 비용이 많으든다고 판단 됬을 때
테이블과의 차이점은 인덱싱된(b-tree) 페이지에서 스캔
* Table scan
인덱스를 사용하지 않고 테이블을 전부 엑세스(Full scan) = 인덱스가 없는 데이터 테이블에서의 실행 계획
(1) 인덱스가 있으나 WHERE절에 없어서 Index Scan이지만 Full Table Scan인 경우
SELECT * FROM Test210123_3

(2) 인덱스가 존재하고 WHERE절에 사용한다면? => Clustered Index Seek 클라스터형 인덱스 검색
인덱스는 SalesOrderID
SELECT * FROM Test210123_3 WHERE SalesOrderID = 47802
