Megosztás a következőn keresztül:


TÖMÖRÍTÉS (Transact-SQL)

A következőkre vonatkozik: Az SQL Server 2016 (13.x) és újabb verziói Az Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Analytics végpontja a Microsoft FabricWarehouse-ban a Microsoft FabricSQL Database-ben a Microsoft Fabricben

Ez a függvény a Gzip algoritmus használatával tömöríti a bemeneti kifejezést. A függvény egy varbinary(max) típusú bájttömböt ad vissza.

Transact-SQL szintaxis konvenciók

Szemantika

COMPRESS ( expression )

Arguments

kifejezés

Az alábbi adattípusok egyikének kifejezése:

  • bináris(n)
  • char(n)
  • nchar(n)
  • nvarchar(max)
  • nvarchar(n)
  • varbinary(max)
  • varbinary(n)
  • varchar(max)
  • varchar(n)

További információ: Kifejezések.

Visszatérési típusok

varbinary(max), amely a bemenet tömörített tartalmát jelöli.

Megjegyzések

A tömörített adatok nem indexelhetők.

A COMPRESS függvény tömöríti a bemeneti kifejezés adatait. Ezt a függvényt minden egyes adatszakaszhoz meg kell hívnia a tömörítéshez. További információ az automatikus adattömörítésről a sor- vagy oldalszintű tárolás során: Adattömörítés.

Példák

A. Adatok tömörítése táblázat beszúrása közben

Ez a példa bemutatja, hogyan tömörítheti a táblázatba beszúrt adatokat:

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. Törölt sorok tömörített verziójának archiválása

Ez az utasítás először törli a régi játékosrekordokat a player táblából. A helytakarékosság érdekében a rekordokat tömörített formátumban tárolja a inactivePlayer táblában.

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