티스토리 뷰
SELECT TOP 10
DB_NAME() AS DatabaseName
, OBJECT_NAME(S.OBJECT_ID) AS TableName
, I.NAME AS IndexName
, ROUND(AVG_FRAGMENTATION_IN_PERCENT, 2) AS Fragmentation
FROM SYS.DM_DB_INDEX_PHYSICAL_STATS(DB_ID(),NULL,NULL,NULL,NULL) AS S
INNER JOIN SYS.INDEXES AS I
ON S.OBJECT_ID = I.OBJECT_ID AND S.INDEX_ID = I.INDEX_ID
WHERE S.DATABASE_ID = DB_ID('DB_NAME') -- 현재 데이터베이스
AND I.NAME IS NOT NULL -- HEAP은 무시
AND OBJECTPROPERTY(S.OBJECT_ID, 'IsMsShipped') = 0 -- 시스템 개체 무시
ORDER BY Fragmentation DESC
MSSQL 의 경우 지속적인 update, insert 등 데이터 입력, 변경 작업과 같은 반복되는 테이블은 인덱스에 조각화가 발생한다. 이는 당연히 인덱스를 통한 Table 조회 성능이 저하되는 결과를 가져온다.
이런 경우 인덱스를 다시 구성하거나 다시 리빌딩해서 조각화를 제거할 수 있다.
sys.dm_db_index_physical_stats 동적 관리 함수를 조회해서 조각화가 심한 인덱스를 확인할 수 있다.
'IT > MS-SQL' 카테고리의 다른 글
MSSQL TABLE INDEX SEARCH 테이블 인덱스 조회 (0) | 2022.01.07 |
---|---|
MSSQL 인덱스 조각 모음 쿼리 (0) | 2022.01.07 |
[MSSQL] 특정일자 요일 구하기, 오늘 날짜 요일 구하기, DATEPART, 월화수목금토일 (0) | 2021.11.23 |
MSSQL 숫자만 조회/MS-SQL 문자만 조회/ISNUMERIC (0) | 2021.07.06 |
MSSQL DB 복구중 해결 (0) | 2021.05.13 |
- Total
- Today
- Yesterday
- 도미넌트
- 아인스타이늄
- 차박
- mssql
- 캠핑
- 레시피
- 익산맛집
- 카페
- 아이폰
- 맥주
- 군산
- 맛집
- 비트코인
- 리니지M
- 전북
- 황금레시피
- 먹어본다
- M포인트
- 데이트
- ms-sql
- Pokemon Go
- 생생정보 황금레시피
- 익산
- c#
- 식샤를합시다
- 전주
- 햄스터
- 후기
- 부송동
- 왕자크림
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |