다음 문서에서는 힙 테이블과 클러스터링 된 테이블의 주요 차이점을 설명합니다.
테이블로 작업하는 동안 SQL Server, 사용자는 종종 클러스터링 된 테이블 또는 힙 테이블을 사용하는 딜레마에 직면합니다. 클러스터형 인덱스가없는 테이블을 힙 테이블이라고하고 클러스터형 인덱스가있는 테이블을 클러스터링 된 테이블이라고합니다. 클러스터형 인덱스는 기본적으로 레코드가 테이블에 물리적으로 저장되는 방식을 재정렬합니다. 데이터 페이지는 클러스터형 인덱스의 리프 노드에 포함됩니다.

이 기사에서는이 두 가지 테이블 유형에 대해 더 자세히 설명합니다.
클러스터 및 힙 테이블
클러스터형 테이블은 사용자가 인덱스를 사용하여 힙 테이블보다 빠르게 행을 찾고 클러스터형 인덱스를 다시 작성하여 데이터 / 레코드를 물리적으로 저장하는 데 도움이되므로 힙 테이블보다 사용자에게 더 많은 이점을 제공합니다.
데이터의 테이블에 대해 더 많은 INSERT, DELETE 및 UPDATE 활동이있는 경우 실제 데이터가 조각화 될 수 있습니다. 쿼리를 실행하면 이제 부분적으로 전체 페이지가 더 많아 지므로 여러 페이지를 더 읽어야하기 때문에 조각난 데이터가 낭비되고 바람직하지 않은 공간에 추가 될 수있는 것으로 알려져 있습니다. 데이터 조각화 문제를 해결하는 방법을 찾아 보겠습니다.
힙과 클러스터링 된 테이블의 차이점
조각화 문제는 테이블에 클러스터형 인덱스가 있어야할지 여부를 결정하여 해결할 수 있습니다. 결국 테이블의 물리적 스토리지를 조절하는 것은 클러스터형 또는 힙 인덱스입니다. 데이터베이스의 모든 테이블에는 한 가지 유형의 인덱스 만있을 수 있습니다. 선택을하려면 다음과 같은이 둘의 기본 차이점을 이해해야합니다.
- 힙에서는 데이터를 저장하는 순서가 없지만 클러스터형에서는 클러스터형 인덱스 키에 따라 데이터를 저장하는 순서가 있습니다.
- 데이터 페이지는 힙에서 링크되지 않는 반면 클러스터링된 테이블에서는 링크되어 있으며 더 빠른 순차 액세스가 있습니다.
- 힙에는 0개의 index_id 값이 있고 클러스터형에는 sys.indexes 카탈로그 뷰에 대해 1개의 index_id 값이 있습니다.
- Clustered Index 키가 있으므로 Clustered Index가 힙 테이블보다 빠르게 데이터를 검색합니다.
분열
클러스터링 된 테이블과 힙 테이블의 차이점을 기반으로 조각화 문제를 해결할 수 있습니다. 조각화는 INSERT, DELETE 및 UPDATE 활동의 사용으로 인해 발생합니다. 그러나 힙 테이블이 있고 INSERT 활동 만있는 경우 조각화가 발생하지 않습니다. 순차 인덱스 키 (ID 값)를 사용하고 INSERTS 만있는 경우 클러스터형 인덱스가 조각화되지 않습니다. 그러나 INSERTS 또는 DELETES를 많이 사용하면 테이블이 조각화됩니다.
따라서 클러스터형 인덱스는 인덱스 키에 의존하고 더 적은 공간을 사용하므로 사용하는 것이 좋습니다. 사용 가능한 여유 공간의 기존 페이지에 새 레코드를 쓸 수 있습니다.
힙 또는 클러스터링 된 테이블의 사용을 확인하려면 DBCC SHOWCONTIG 또는 새 DMV를 실행 해 볼 수도 있습니다. 두 명령 모두 테이블의 조각화 문제에 대한 통찰력을 제공 할 수 있기 때문입니다. 클러스터형 테이블에서는 클러스터형 인덱스를 재구성하거나 재 구축하여 조각화를 해결할 수 있습니다.
에 투자 SQL Server 수리 도구는 MS를 사용하는 회사에게 필수입니다. SQL Server 프로덕션 서버의 데이터베이스. 사실 데이터베이스 충돌시 생명의 은인이 될 수 있습니다.
저자 소개 :
Victor Simon은 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. mdb 수리 및 SQL 복구 소프트웨어 제품. 자세한 내용은 https://www.datanumen.com/