Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[주의 사항]
본 블로그에 게시된 정보의 내용 (첨부 문서, 링크 등)은 작성일 현재 기준이며 예고없이 변경 될 수 있습니다.
또한, 참고용으로만 제공됨으로 Microsoft에 책임이 없음을 알려 드립니다. 반드시 적용 전 충분한 테스트를 진행하시기 바랍니다.
[요약]
SharePoint Database에 대한 Indedx Fill Factor (채우기 비율)
[원인 또는 해결 방법]
SQL Database의 인덱스 데이터 저장소 성능 개선을 위해 Indedx Fill Factor (채우기 비율)을 설정할 수 있습니다.
인덱스를 만들거나 다시 작성할 때에 이 채우기 비율 값(1-100)에 따라 각 리프 수준 페이지에서 데이터를 채울 수 있는 공간의 비율이 결정되고 나머지 공간은 이후 확장을 위해 예약됩니다.
일반적으로 삽입 및 업데이트 작업이 많은 응용 프로그램에서도 데이터베이스 읽기 횟수가 데이터베이스 쓰기 횟수보다 10 대 5 정도로 훨씬 많이 일어나기 때문에 일반적인 SQL Database의 Index Fill Factor (인덱스 채우기 비율) 값은 0 (각 페이지를 100% 데이터로 채움)으로 설정합니다.
기본값 이외의 채우기 비율을 지정하면 채우기 비율 설정에 반비례하는 양만큼 데이터베이스 읽기 성능이 저하됩니다. 또한, 인덱스에 더 많은 페이지가 포함되므로 읽기 성능이 저하되어 데이터 검색에 필요한 디스크 IO 작업이 늘어납니다.
다만, SharePoint (2010~)의 경우에는 내부 테스트를 통해 채우기 비율이 80%일 때 가장 효율적으로 작동하는 것으로 확인되었습니다. (확장 지원 및 조각화 최소화)
Index Fill Factor 를 변경하는 경우 인덱스가 다시 작성되는 동안 지정한 설정이 적용됨으로 트랜잭션 로그 사이즈가 급증 할 수 있습니다.
작업 시 로그 사용량을 확인하고 사용량이 증가하는 경우 트랜잭션 로그 백업을 통한 비우기를 진행하실 수 있습니다.
[Index Fill Factor 조회 스크립트]
USE [DB명]
GO
SELECT OBJECT_NAME(OBJECT_ID) AS TABLE_NAME ,NAME, FILL_FACTOR
FROM SYS.INDEXES
WHERE OBJECT_ID > 100
[Index Fill Factor 변경 방법]
인덱스의 채우기 비율 지정https://msdn.microsoft.com/ko-kr/library/ms177459.aspx 다음 쿼리문을 통해서 채우기 비율을 변경할 수 있으며, 다시 인덱스를 작성하는 동안 지정한 채우기 비율이 적용됩니다. USE [DB명]; GO ALTER INDEX [인덱스명] ON [테이블명]REBUILD WITH (FILLFACTOR = 80); GO |
[Online 모드로 작업 가능 여부]
SQL 2012 Enterprise Edition 등 Index 구성 옵션중 Online 옵션이 사용가능한 Edition이 필요하며, 온라인으로 인덱스 작업에 대한 설명 및 유의 사항은 다음을 참고하시기 바랍니다.
ONLINE 옵션을 사용하면 여러 사용자가 인덱스 작업 동안 기본 테이블이나 클러스터형 인덱스 데이터 및 모든 관련 비클러스터형 인덱스에 동시에 액세스할 수 있습니다. 예를 들어 특정 사용자가 클러스터형 인덱스를 다시 작성하는 동안 해당 사용자와 다른 사용자가 계속해서 기본 데이터를 업데이트하고 쿼리할 수 있습니다. 클러스터형 인덱스 작성 또는 다시 작성 등의 DDL(데이터 정의 언어) 작업을 오프라인으로 수행할 때 이러한 작업은 기본 데이터와 관련 인덱스에 대해 배타적 잠금을 보유합니다. 이로 인해 해당 인덱스 작업이 완료될 때까지 기본 데이터를 수정하거나 쿼리할 수 없습니다 참조 :온라인으로 인덱스 작업 수행https://msdn.microsoft.com/ko-kr/library/ms177442(v=sql.110).aspx 참조 : 온라인 인덱스 작업에 대한 지침https://msdn.microsoft.com/ko-kr/library/ms190981(v=sql.110).aspx |
인덱스 채우기 비율 변경 시 온라인 옵션을 추가한 작업 스크립트 예시는 다음과 같습니다.
ALTER INDEX [인덱스명] ON [테이블명]REBUILD WITH (FILLFACTOR = 80, ONLINE=ON); |
감사합니다.