Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
usługi Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
— punkt końcowy analizy SQL w usłudze Microsoft Fabric
Warehouse w
bazie danych Microsoft Fabric SQL Database w usłudze Microsoft Fabric
Ta funkcja kompresuje wyrażenie wejściowe przy użyciu algorytmu Gzip . Funkcja zwraca tablicę bajtów typu varbinary(max).
Transact-SQL konwencje składni
Składnia
COMPRESS ( expression )
Arguments
wyrażenie
Wyrażenie jednego z następujących typów danych:
- binary(n)
- char(n)
- nchar(n)
- nvarchar(max)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- varchar(max)
- varchar(n)
Aby uzyskać więcej informacji, zobacz Wyrażenia.
Typy zwracane
varbinary(max), reprezentując skompresowaną zawartość danych wejściowych.
Uwagi
Skompresowane dane nie mogą być indeksowane.
Funkcja COMPRESS kompresuje dane wyrażenia wejściowego. Aby skompresować tę funkcję, należy wywołać tę funkcję dla każdej sekcji danych. Aby uzyskać więcej informacji na temat automatycznej kompresji danych podczas przechowywania na poziomie wiersza lub strony, zobacz Kompresja danych.
Przykłady
A. Kompresuj dane podczas wstawiania tabeli
W tym przykładzie pokazano, jak skompresować dane wstawione do tabeli:
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. Archiwizowanie skompresowanej wersji usuniętych wierszy
Ta instrukcja najpierw usuwa stare rekordy zawodników z player tabeli. Aby zaoszczędzić miejsce, następnie przechowuje rekordy w inactivePlayer tabeli w formacie skompresowanym.
DELETE FROM player
OUTPUT
deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;