Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 173|Svar: 0

[Tips] SQL Server-databasetabel-rækkekomprimering og sidekomprimering

[Kopier link]
Opslået på 09/01/2026 11.20.06 | | | |
Krav: I SQL Server-databasen findes der en tabel (f.eks. logtabel, anmodningslogtabel), som optager en meget stor diskplads, måske flere hundrede GB, hvordan kan man reducere brugen af tabelplads? Datakomprimering (pladsbesparelse) kan aktiveres for meget gentagende tekst (f.eks. HTML, JSON, logfiler).

ROW-kompression

Komprimering vil ændre den fysiske lagring af dataene, men ikke den logiske struktur af dataene. Processen med linjekompression:

Identificér datatypen for hver kolonne og konverter den til en variabel længde
Endelig reduceres mængden af lagerpladsanmodninger til den faktiske efterspørgsel
Efter komprimering øges mængden af lagrede data på hver side
Efter komprimering reduceres mængden af metadata
For eksempel, hvis datatypen for en kolonne er smallint, allokerer systemet som standard 2 bytes
Men i virkeligheden bruges kun 1 byte plads, og hvis komprimering er aktiveret på tabellen, kan det tildeles efter behov

PAGE-komprimering

Sidekomprimering udfører yderligere operationer for at forbedre rækkekomprimeringen
Hovedoperationer: linjekomprimering, præfikskomprimering, ordbogskomprimering

CPU-forbrug: PAGE-komprimering > rækkekomprimering

Test

Opret en ny Users1- og Users2-tabell, begge indsætter 100.000 datastykker, og SQL-scriptet er som følger:
For at se bordpladsens belægning, som alle er 3,27 MB, er kommandoen som følger:
Som vist nedenfor:



For at se komprimeringsstatus for Users2-tabellen er kommandoen som følger:
Som vist nedenfor:



sp_estimate_data_compression_savingsVurder de besparelser, der kan opstå, når du aktiverer tabeller eller partitioner for rækker, sider, kolonnelagre, kolonnearkiver eller XML-komprimering. Kommandoen er som følger:
Outputtet er som følger:
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 Indekset optager ≈ 3,29 MB med de nuværende komprimeringsindstillinger
size_with_requested_compression_setting (KB) 1296 KB Anslået footprint ≈ 1,27 MB, hvis du aktiverer den nye komprimeringsmetode, du anmoder om, såsom PAGE eller ROW
For at udføre sidekomprimering er kommandoen som følger:
Sammenligning af effekter:Users2-tabellen er 3,27 MB før komprimering og 1,23 MB efter komprimering, som vist i figuren nedenfor:



Visualiseringen er som følger:



Henvisning:

Hyperlink-login er synlig.
Hyperlink-login er synlig.
Hyperlink-login er synlig.




Tidligere:Database-soft deletion (tombod) felt-unikhedsproblem
Næste:Windows Defender Credential Guard tillader ikke brug af gemte legitimationsoplysninger
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com