이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 173|회답: 0

[팁] SQL Server 데이터베이스 테이블 행 압축 및 페이지 압축

[링크 복사]
게시됨 2026. 1. 9. 오전 11:20:06 | | | |
요구사항: SQL Server 데이터베이스에는 매우 큰 디스크 공간, 수백 GB를 차지하는 테이블(예: 로그 테이블, 요청 로그 테이블)이 있습니다. 테이블 공간 사용량을 줄이는 방법은 무엇인가요? 데이터 압축(공간 절약)은 매우 반복적인 텍스트(예: HTML, JSON, 로그)에 대해 활성화할 수 있습니다.

ROW 압축

압축은 데이터의 물리적 저장 공간은 바뀌지만, 데이터의 논리적 구조는 바꾸지 않습니다. 라인 압축 과정:

각 열의 데이터 타입을 식별하고 이를 가변 길이로 변환하세요
마지막으로, 저장 공간 요청량이 실제 수요로 줄어듭니다
압축 후에는 각 페이지에 저장된 데이터 양이 증가합니다
압축 후에는 메타데이터 양을 줄이세요
예를 들어, 열의 데이터 타입이 smallint라면 시스템은 기본적으로 2바이트를 할당합니다
하지만 실제로는 1바이트의 공간만 사용되며, 테이블에서 압축이 활성화되어 있으면 필요에 따라 할당할 수 있습니다

PAGE 압축

페이지 압축은 행 압축을 향상시키기 위해 추가 연산을 수행합니다
주요 연산: 라인 압축, 접두사 압축, 사전 압축

CPU 소모: PAGE 압축 > 행 압축

테스트

새로운 Users1과 Users2 테이블을 생성하면, 두 테이블 모두 100,000개의 데이터를 삽입하고, SQL 스크립트는 다음과 같습니다:
테이블 공간 점유율(모두 3.27 MB)를 보기 위해서는 명령어가 다음과 같습니다:
아래에 나와 있습니다:



Users2 테이블의 압축 상태를 확인하려면 명령어는 다음과 같습니다:
아래에 나와 있습니다:



sp_estimate_data_compression_savings행, 페이지, 열저장, 열저장 아카이브, XML 압축에 테이블이나 파티션을 활성화할 때 발생할 수 있는 절감 효과를 추정하세요. 명령어는 다음과 같습니다:
출력은 다음과 같습니다:
object_name schema_name index_id partition_number size_with_current_compression_setting(KB) size_with_requested_compression_setting(KB)        sample_size_with_current_compression_setting(KB) sample_size_with_requested_compression_setting(KB)
사용자2 dbo 1 1 3368 1296 3448 1328

size_with_current_compression_setting (KB) 3368 KB 현재 압축 설정으로 인덱스는 ≈ 3.29 MB를 차지합니다
size_with_requested_compression_setting (KB) 1296 KB 요청하는 새로운 압축 방식(예: PAGE, ROW)을 활성화하면 예상 용량 ≈ 1.27 MB
페이지 압축을 실행하기 위한 명령은 다음과 같습니다:
효과 비교:Users2 테이블은 압축 전 3.27MB, 압축 후 1.23MB입니다, 아래 그림에서 볼 수 있습니다:



시각화는 다음과 같습니다:



참조:

하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.




이전의:데이터베이스 소프트 삭제(tombod) 필드 고유성 문제
다음:Windows Defender Credential Guard는 저장된 자격 증명 사용을 허용하지 않습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com