COMPRESS(Transact SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL Server 2016(13.x) 이상 Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL 분석 엔드포인트

이 함수는 Gzip 알고리즘을 사용하여 입력 식을 압축합니다. 이 함수는 varbinary(max) 유형의 바이트 배열을 반환합니다.

Transact-SQL 구문 표기 규칙

구문

COMPRESS ( expression )

인수

expression

다음 데이터 형식 중 하나의 식입니다.

  • binary(n)
  • char(n)
  • nchar(n)
  • nvarchar(max)
  • nvarchar(n)
  • varbinary(max)
  • varbinary(n)
  • varchar(max)
  • varchar(n)

자세한 내용은 식(Transact-SQL)을 참조하세요.

반환 형식

입력의 압축된 콘텐츠를 나타내는 varbinary(max)입니다.

설명

압축된 데이터는 인덱싱할 수 없습니다.

COMPRESS 함수는 입력된 식 데이터를 압축합니다. 압축하려면 각 데이터 섹션에 대해 이 함수를 호출해야 합니다. 행 또는 페이지 수준에서 스토리지하는 동안 자동 데이터 압축에 대한 자세한 내용은 데이터 압축을 참조 하세요.

예제

A. 테이블 삽입 중 데이터 압축

이 예에서는 테이블에 삽입된 데이터를 압축하는 방법을 보여줍니다.

INSERT INTO player (
    name,
    surname,
    info
    )
VALUES (
    N'Ovidiu',
    N'Cracium',
    COMPRESS(N'{"sport":"Tennis","age": 28,"rank":1,"points":15258, turn":17}')
    );

INSERT INTO player (
    name,
    surname,
    info
    )
VALUES (
    N'Michael',
    N'Raheem',
    COMPRESS(@info)
    );

B. 삭제된 행의 압축된 버전 보관

이 명령문은 player 테이블에서 오래된 플레이어 레코드를 먼저 삭제합니다. 공간을 절약하기 위해 레코드를 inactivePlayer 테이블에 압축 형식으로 저장합니다.

DELETE
FROM player
OUTPUT deleted.id,
    deleted.name,
    deleted.surname,
    deleted.datemodifier,
    COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;

참고 항목