Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) en latere versies
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics SQL Analytics-eindpunt
in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL Database in Microsoft Fabric SQL Database in Microsoft Fabric
Met deze functie wordt de invoerexpressie gecomprimeerd met behulp van het Gzip-algoritme . De functie retourneert een bytematrix van het type varbinary(max).
Transact-SQL syntaxis-conventies
Syntaxis
COMPRESS ( expression )
Arguments
expressie
Een expressie van een van de volgende gegevenstypen:
- binary(n)
- char(n)
- nchar(n)
- nvarchar(max)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- varchar(max)
- varchar(n)
Zie Expressies voor meer informatie.
Retourtypen
varbinary(max), die de gecomprimeerde inhoud van de invoer vertegenwoordigt.
Opmerkingen
Gecomprimeerde gegevens kunnen niet worden geïndexeerd.
De COMPRESS functie comprimeert de invoerexpressiegegevens. U moet deze functie aanroepen voor elke gegevenssectie om te comprimeren. Zie Gegevenscompressie voor meer informatie over automatische gegevenscompressie tijdens opslag op rij- of paginaniveau.
Voorbeelden
Eén. Gegevens comprimeren tijdens het invoegen van tabellen
In dit voorbeeld ziet u hoe u gegevens die zijn ingevoegd in een tabel comprimeert:
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. Gecomprimeerde versie van verwijderde rijen archiveren
Met deze instructie worden eerst oude spelerrecords uit de player tabel verwijderd. Als u ruimte wilt besparen, worden de records in de inactivePlayer tabel opgeslagen in een gecomprimeerde indeling.
DELETE FROM player
OUTPUT
deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;