방법: 클러스터링된 인덱스의 데이터 정렬
Microsoft SQL Server 데이터베이스에서 클러스터링된 인덱스를 만들거나 수정하는 경우 인덱스의 데이터 정렬 시기를 제어하는 옵션을 설정합니다. 인덱스가 만들어질 때 데이터를 정렬하거나 테이블이 조각화될 때 데이터를 정렬하고 재구성할 수 있습니다. 테이블 조각화 발생 원인 및 권장되는 솔루션에 대한 자세한 내용은 SQL Server 온라인 설명서의 "DBCC CHECKDB" 항목을 참조하십시오.
인덱스가 만들어질 때 데이터를 정렬하는 옵션은 데이터를 복사하거나 클러스터링되지 않은 인덱스를 다시 빌드하지 않아도 되므로 이 두 옵션 중에서 더 빠릅니다.
참고
SQL Server 2012 형식의 데이터베이스에 대해 새로운 버전의 테이블 디자이너가 표시됩니다. 이 항목에서는 이전 형식의 SQL Server를 사용하는 이전 버전의 테이블 디자이너에 대해 설명합니다.
새 버전에서는 스크립트 창에서 직접 또는 그래픽 인터페이스를 통해 테이블 정의를 변경할 수 있습니다. 그래픽 인터페이스를 사용할 경우 스크립트 창에서 테이블의 정의가 자동으로 업데이트됩니다. 스크립트 창에서 SQL 코드를 적용하려면 업데이트 단추를 선택합니다. 새 버전에 대한 자세한 내용은 방법: 테이블 디자이너를 사용하여 데이터베이스 개체 만들기를 참조하십시오.
참고
일부 Visual Studio 사용자 인터페이스 요소의 경우 다음 지침에 설명된 것과 다른 이름 또는 위치가 시스템에 표시될 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.
인덱스 값을 정렬하려면
서버 탐색기에서 정렬하려는 인덱스 값이 포함된 테이블을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 테이블 정의 열기를 클릭합니다.
바로 가기 메뉴에서 인덱스/키를 선택합니다.
선택한 인덱스 목록에서 인덱스를 선택합니다.
CLUSTERED로 만들기 옵션을 선택해야 합니다.
SQL Server 6.5를 사용하는 경우 정렬 옵션이 표시되는데, 이 중 하나를 선택해야 합니다.
옵션
동작
데이터 정렬
기본 옵션입니다. 인덱스가 만들어질 때 데이터를 정렬합니다.
데이터 정렬 이미 수행
클러스터링된 인덱스가 만들어질 때 수행된 정렬은 제거하고, 각 인덱스 값을 확인하여 이 값이 이전 값보다 큰지를 판별함으로써 데이터가 정렬되었는지를 확인합니다. 이전 값보다 작은 행이 하나라도 있으면 테이블을 저장할 때 인덱스를 만들 수 없습니다.
데이터가 검사 조건에 맞으면 이 옵션은 데이터를 복사하지 않고 클러스터링되지 않은 인덱스를 다시 빌드하지 않으므로 정렬된 데이터 재구성 옵션보다 항상 빠릅니다. 테이블이 저장된 페이지를 줄이거나 확장하는 채우기 비율이 지정된 경우 이 옵션이 유용합니다.
채우기 비율에 대한 자세한 내용은 인덱스의 채우기 비율 지정을 참조하십시오.
정렬된 데이터 재구성
이 옵션은 데이터를 복사하고 클러스터링되지 않은 인덱스를 다시 빌드하므로 항상 느리다는 점만 제외하면 데이터 정렬 이미 수행 옵션과 동일합니다. 테이블이 조각화되어 인덱스 값을 다시 정렬하려고 할 경우에는 데이터를 재구성하는 것이 좋습니다.
참고
데이터 정렬 이미 수행은 SORTED_DATA 옵션을 사용하여 클러스터링된 인덱스를 각각 만듭니다.정렬된 데이터 재구성은 SORTED_DATA_REORG 옵션을 사용하여 클러스터링된 인덱스를 각각 만듭니다.이 옵션 중 하나를 선택하고 검사 조건에 맞지 않는 행이 하나라도 있으면 테이블을 저장할 때 인덱스를 만들 수 없습니다.이런 경우에는 데이터를 수정하거나 데이터 정렬 옵션을 선택하면 됩니다.
마지막으로 닫기를 클릭합니다.