728x90
누락된 인덱스란?
- 인덱스가 생성되어 있지만 사용되지 않는 인덱스를 말한다
누락된 인덱스 확인쿼리
SELECT A.AVG_USER_IMPACT * A.AVG_TOTAL_USER_COST * A.USER_SEEKS AS AVG_IMPACT
, DB_NAME(C.DATABASE_ID) AS DB_NM
, OBJECT_NAME(C.OBJECT_ID, C.DATABASE_ID) AS TABLE_NM
, C.EQUALITY_COLUMNS
, C.INEQUALITY_COLUMNS
, C.INCLUDED_COLUMNS
, C.STATEMENT
, 'USE [' + DB_NAME(C.DATABASE_ID) + ']; CREATE INDEX MRDENNY_' + REPLACE(REPLACE(REPLACE(REPLACE (ISNULL(EQUALITY_COLUMNS, '') + ISNULL(C.INEQUALITY_COLUMNS, ''), ', ', '_'), '[', ''), ']', ''), ' ', '') + ' ON [' + SCHEMA_NAME(D.SCHEMA_ID) + '] .[' + OBJECT_NAME(C.OBJECT_ID, C.DATABASE_ID) + ']
(' + ISNULL(EQUALITY_COLUMNS, '') + CASE WHEN C.EQUALITY_COLUMNS IS NOT NULL AND C.INEQUALITY_COLUMNS IS NOT NULL THEN ', ' ELSE '' END + ISNULL(C.INEQUALITY_COLUMNS, '') + ') ' + CASE WHEN INCLUDED_COLUMNS IS NOT NULL THEN 'INCLUDE (' + INCLUDED_COLUMNS + ')' ELSE '' END + ' WITH (FILLFACTOR=70, ONLINE=ON)' AS QUERY
FROM SYS.DM_DB_MISSING_INDEX_GROUP_STATS A
INNER JOIN SYS.DM_DB_MISSING_INDEX_GROUPS B ON A.GROUP_HANDLE = B.INDEX_GROUP_HANDLE
INNER JOIN SYS.DM_DB_MISSING_INDEX_DETAILS C ON B.INDEX_HANDLE = C.INDEX_HANDLE
INNER JOIN SYS.OBJECTS D ON C.OBJECT_ID = D.OBJECT_ID
WHERE C.DATABASE_ID = DB_ID()
ORDER BY DB_NAME(C.DATABASE_ID), ISNULL(EQUALITY_COLUMNS, '') + ISNULL(C.INEQUALITY_COLUMNS, ''), A.AVG_USER_IMPACT * A.AVG_TOTAL_USER_COST * A.USER_SEEKS DESC
sys.dm_db_missing_index_group_stats | 누락된 인덱스 그룹에 대한 요약 정보를 반환합니다. |
sys.dm_db_missing_index_groups | 그룹 식별자 및 해당 그룹에 포함된 모든 누락된 인덱스의 식별자와 같은 특정 그룹의 누락된 인덱스에 대한 정보를 반환합니다. |
sys.dm_db_missing_index_details | 인덱스가 누락된 테이블의 이름과 식별자 및 누락된 인덱스를 구성해야 하는 열과 열 유형을 반환합니다. |
sys.dm_db_missing_index_columns | 인덱스가 없는 데이터베이스 테이블 열에 대한 정보를 반환합니다. |
참고
누락된 인덱스 제안으로 비클러스터형 인덱스 조정 - SQL Server
누락된 인덱스 제안을 사용하여 비클러스터형 인덱스를 만들고 조정하는 방법입니다.
docs.microsoft.com
728x90
'DBMS > MSSQL' 카테고리의 다른 글
[MSSQL] Database Mirroring 보안 구성 마법사 (0) | 2022.08.12 |
---|---|
[MSSQL] MS SQL 로그인 계정 생성 (0) | 2022.08.10 |
[MSSQL] 테이블 전체 삭제 하는 쿼리 (0) | 2022.08.05 |
[MSSQL] MSSQL 버전 확인 (0) | 2022.08.05 |
[MSSQL] Database Mirroring 구축 (0) | 2022.08.05 |