개발하는 월퐁잉
놀면서 쉬면서 코딩 하기
개발하는 월퐁잉
전체 방문자
오늘
어제
  • 분류 전체보기
    • DBMS
      • DBeaver
      • HeidiSQL
      • MSSQL
      • MYSQL
    • Cloud
      • Azure
      • AWS
    • 업무
      • Slack
      • IT-Tip
    • Vue
    • HTML
    • Java
    • Gradle
    • IntelliJ
    • GIT

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 인텔리제이
  • IntelliJ
  • Eclipse
  • Vue.js
  • MSSQL
  • MySQL
  • JSP
  • 권한설정
  • ALTER TABLE
  • Trigger
  • GIT
  • 미러링
  • Query
  • Exiting because of an unresolved conflict
  • npm install
  • 단축키
  • vue
  • SQL Server
  • dba
  • DBeaver

최근 댓글

최근 글

티스토리

250x250
250x250
hELLO · Designed By 정상우.
개발하는 월퐁잉

놀면서 쉬면서 코딩 하기

[MSSQL] mssql 누락된 인덱스
DBMS/MSSQL

[MSSQL] mssql 누락된 인덱스

2022. 8. 9. 09:02
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
    'DBMS/MSSQL' 카테고리의 다른 글
    • [MSSQL] Database Mirroring 보안 구성 마법사
    • [MSSQL] MS SQL 로그인 계정 생성
    • [MSSQL] 테이블 전체 삭제 하는 쿼리
    • [MSSQL] MSSQL 버전 확인
    개발하는 월퐁잉
    개발하는 월퐁잉
    놀멍 쉬멍 개발하는 퐁 - 기억은 사라지지만 기록은 남는다

    티스토리툴바