Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 173|Odpoveď: 0

[Tipy] Kompresia riadkov tabuliek v databáze SQL Server a kompresia stránok

[Kopírovať odkaz]
Zverejnené 9. 1. 2026 11:20:06 | | | |
Požiadavky: V databáze SQL Server existuje tabuľka (napr. log tabuľka, tabuľka požiadaviek log), ktorá zaberá veľmi veľký priestor na disku, možno stovky GB, ako znížiť využitie priestoru v tabuľke? Kompresia dát (úspora miesta) môže byť povolená pre veľmi opakujúci sa text (napr. HTML, JSON, logy).

Kompresia ROW

Kompresia zmení fyzické úložisko dát, ale nie ich logickú štruktúru. Proces kompresie čiar:

Identifikujte dátový typ každého stĺpca a preveďte ho na variabilnú dĺžku
Nakoniec sa množstvo požiadaviek na úložný priestor zníži na skutočný dopyt
Po kompresii sa množstvo uložených dát na každej stránke zvýši
Po kompresii znížte množstvo metadát
Napríklad, ak je dátový typ stĺpca smallint, systém štandardne pridelí 2 bajty
V skutočnosti sa však využíva iba 1 bajt priestoru a ak je kompresia na tabuľke povolená, môže byť alokovaná na požiadanie

Kompresia PAGE

Kompresia stránky vykonáva ďalšie operácie na zlepšenie kompresie riadkov
Hlavné operácie: kompresia riadkov, kompresia prefixov, kompresia slovníka

Spotreba CPU: kompresia PAGE > kompresia riadkov

Test

Vytvorte nové tabuľky Users1 a Users2, obe vložíte 100 000 dát, a SQL skript je nasledovný:
Na zobrazenie obsadenia miesta v tabuľke, ktoré majú všetky 3,27 MB, je príkaz nasledovný:
Ako je uvedené nižšie:



Na zobrazenie stavu kompresie tabuľky Users2 je príkaz nasledovný:
Ako je uvedené nižšie:



sp_estimate_data_compression_savingsOdhadnite úspory, ktoré môžu nastať, keď povolíte tabuľky alebo partície pre riadky, stránky, úložiská stĺpcov, archívy úložiska stĺpcov alebo kompresiu XML. Príkaz je nasledovný:
Výstup je nasledovný:
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)
Users2 dbo 1 1 3368 1296 3448 1328

size_with_current_compression_setting (KB) 3368 KB Index zaberá ≈ 3,29 MB s aktuálnymi nastaveniami kompresie
size_with_requested_compression_setting (KB) 1296 KB Odhadovaná plocha ≈ 1,27 MB, ak povolíte novú požadovanú metódu kompresie, napríklad PAGE alebo ROW
Na vykonanie kompresie stránky je príkaz nasledovný:
Porovnanie účinkov:Tabuľka Users2 je 3,27 MB pred kompresiou a 1,23 MB po kompresii, ako je znázornené na obrázku nižšie:



Vizualizácia je nasledovná:



Referencia:

Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.




Predchádzajúci:Problém s jedinečnosťou polí v databáze soft deletion (tombod)
Budúci:Windows Defender Credential Guard neumožňuje používanie uložených prihlasovacích údajov
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com