이번에는 SQL SERVER에서
INDEX에 INCLUDE 되어있는 정보를
확인하는 방법을
정리해보려고 합니다.
MSSQL이든,
ORALCE이든
여러 DBMS에서
INDEX는 많이 사용을 합니다.
아니, 거의 꼭 사용한다고 해도 될 만한
것입니다.
그래서 이번에는 인덱스에서 인클루드 되어있는
정보를 확인하는 방법을
정리해보도록 하겠습니다.
1. 인덱스 정보 확인
우선 인덱스 정보를 확인해봐야 합니다.
인덱스 정보는 MSSQL에서 제공해주는
시스템함수를 이용해서 확인할 수 있습니다.
시스템함수의 명은
SP_HELPINDEX 입니다.
실제 사용 예제는
다음과 같습니다.
SP_HELPINDEX 테이블명
위처럼 해주시면 되십니다.
테이블명에 원하는 테이블의 이름을
넣어주시면 되십니다.
그러면 해당 테이블에 생성되어 있는
인덱스 리스트를 가져오게 됩니다.
위 쿼리를 실행하면
결과는 다음과 같이 나오게 됩니다.
인덱스명이나, 컬럼 등은
숨겨놓았습니다.
2. index 정보 확인하기
인덱스명을 확인했으면
이번에는 index 정보를 확인해보도록 하겠습니다.
이것도 SQL SERVER에서 제공하는
시스템 테이블을 이용하여
확인할 수 있습니다.
예제 쿼리는 다음과 같습니다.
SELECT * FROM SYS.indexes WHERE NAME = '인덱스명'
위 쿼리에서 인덱스명은
1번에서 확인했던
index_name 값을 넣어주시면 되십니다.
그러면 해당 인덱스에 대한
정보를 확인할 수 있습니다.
제가 실제 사용하는 인덱스 중 하나를 넣고
실행을 해보았으니
결과는 다음과 같이 나오게 되었습니다.
이 정보를 가지고,
include 되어잇는 정보도
확인할 수 있습니다.
3. include 되어있는 정보 확인하기
이제 해당 인덱스에
인클루드 되어있는 정보를
확인해보도록 하겠습니다.
이번에도 역시 MSSQL에서 제공하는
시스템 테이블을 이용하여
확인하면 됩니다.
예제 쿼리는 다음과 같습니다.
select top 10 * from sys.index_columns where object_id = object_id and index_id = index_id
위 쿼리를 이용하시면 되십니다.
위 쿼리에서 object_id와 index_id는
2번에서 확인한 값을
넣어주시면 되십니다.
그럼 이제 실제로 실행을 해보았습니다.
그러면 결과는 아래처럼 나오게 됩니다.
위처럼 나오게 되었습니다.
위의 이미지에서 빨간색 네모 친 부분이
include 되어있는 column의 숫자입니다.
include 되어있는 것이 많으면
select 할 때 속도가 더 빠르게
나온다는 장점이 있습니다.
그리고 인덱스가 무겁고,
갱신 시에 속도가 오래 걸리는 단점이 있습니다.
이렇게 장단점이 있기 때문에,
필요에 따라서
용도에 따라서
사용을 해주시면 되십니다.
오늘은 SQLSERVER에서 INDEX에
INCLUDE 되어있는 정보를
확인하는 방법을 정리해보았습니다.
용도에 따라서, 최적화 된 방법으로
사용을 해주시면 될 것 같습니다.
'컴퓨터관련 > MS-SQL' 카테고리의 다른 글
MS-SQL에서 ORDER BY 절에 CASE WHEN 사용하기 (0) | 2020.06.15 |
---|---|
MSSQL에서의 EXISTS와 IN의 사용 및 차이점 (0) | 2020.06.05 |
MS-SQL에서 테이블별 사이즈 및 건수 확인하기 (0) | 2020.04.13 |
MS-SQL에서 단어자동완성 옵션 활성화 및 해제하기 (0) | 2020.04.09 |
MS-SQL에서 랜덤정렬하기 (0) | 2020.03.11 |