
--disable-partitioning 옵션은 SQL Server에서 분할 저장소를 사용하는 테이블에 인덱스를 생성할 때 사용됩니다. 이 옵션의 역할은 인덱스를 분할 저장소에 대한 일반적인 인덱스로 생성하는 것입니다.
분할 저장소는 데이터를 여러 파티션으로 나누어 저장하는 방법으로, 데이터를 효율적으로 관리하고 검색 속도를 향상시키기 위해 사용됩니다. 하지만 분할 저장소에 인덱스를 생성할 때, SQL Server는 기본적으로 인덱스를 각 파티션별로 생성합니다.
--disable-partitioning 옵션을 사용하면, SQL Server는 인덱스를 전체 테이블에 대한 일반적인 인덱스로 생성합니다. 이 옵션을 사용하면, 인덱스를 생성할 때 파티션별로 인덱스를 생성하지 않습니다.
이 옵션을 사용해야 하는 이유는, 인덱스를 생성할 때 파티션별로 인덱스를 생성하면, 데이터를 검색할 때 파티션별로 인덱스를 스캔해야 하므로, 검색 속도가 느려질 수 있습니다. 따라서, 인덱스를 생성할 때 --disable-partitioning 옵션을 사용하면, 데이터를 검색할 때 인덱스를 전체 테이블에 대한 일반적인 인덱스로 스캔할 수 있습니다.
이 옵션을 사용해야 하는지 여부를 결정할 때, 다음을 고려할 수 있습니다.
- 데이터가 분할 저장소에 저장되어 있는지 여부
- 인덱스를 생성할 때 파티션별로 인덱스를 생성하는 것이 검색 속도에 영향을 미치는지 여부
- 인덱스를 생성할 때 --disable-partitioning 옵션을 사용하는 것이 데이터를 검색할 때 검색 속도를 향상시키는지 여부
인덱스를 생성할 때 --disable-partitioning 옵션을 사용해야 하는지 여부를 결정하기 위해, 다음 쿼리를 실행할 수 있습니다.
#hostingforum.kr
sql
SELECT
p.partition_number,
p.partition_id,
p.partition_guid,
i.index_id,
i.type_desc
FROM
sys.partitions p
INNER JOIN
sys.indexes i ON p.object_id = i.object_id AND p.index_id = i.index_id
WHERE
p.object_id = OBJECT_ID('테이블명');
이 쿼리를 실행하면, 테이블에 생성된 인덱스와 파티션별로 인덱스가 생성되어 있는지 여부를 확인할 수 있습니다.
2025-08-13 18:54