See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 173|Vastuse: 0

[Nõuanded] SQL Serveri andmebaasi tabeli ridade tihendamine ja lehekülgede tihendamine

[Kopeeri link]
Postitatud 09.01.2026 11:20:06 | | | |
Nõuded: SQL Serveri andmebaasis on tabel (nt logitabel, päringu logitabel), mis võtab väga suure kettaruumi, võib-olla sadu GB, kuidas vähendada tabeliruumi kasutust? Andmete kokkusurumine (ruumisääst) saab lubada väga korduva teksti puhul (nt HTML, JSON, logid).

READ kompressioon

Tihendamine muudab andmete füüsilist salvestust, kuid mitte andmete loogilist struktuuri. Joonte kokkusurumise protsess:

Tuvasta iga veeru andmetüüp ja teisenda see muutuva pikkusega
Lõpuks vähendatakse salvestusruumi päringute hulk tegelikuks nõudluseks
Pärast tihendamist suureneb iga lehe salvestatud andmete hulk
Pärast tihendamist vähenda metaandmete hulka
Näiteks, kui veeru andmetüüp on smallint, eraldab süsteem vaikimisi 2 baiti
Tegelikult kasutatakse aga ainult 1 baiti ruumi ning kui laual on tihendamine lubatud, saab seda nõudmisel eraldada

LEHEKÜLJE tihendamine

Lehekülje tihendamine teeb täiendavaid toiminguid, et parandada ridade tihendamist
Peamised operatsioonid: reakompressioon, eesliite tihendamine, sõnastiku tihendamine

CPU tarbimine: PAGE tihendamine > rea tihendamine

Katse

Loo uued Users1 ja Users2 tabelid, mõlemad lisavad 100 000 andmetükki ning SQL skript on järgmine:
Tabeliruumi hõivatuse vaatamiseks, mis kõik on 3,27 MB, on käsk järgmine:
Nagu allpool näidatud:



Users2 tabeli tihendusoleku vaatamiseks on käsk järgmine:
Nagu allpool näidatud:



sp_estimate_data_compression_savingsHinda säästu, mis tekib, kui lubad tabelid või partitsioonid ridade, lehtede, veergude hoidlate, veergude arhiivide või XML-tihenduse jaoks. Käsk on järgmine:
Väljund on järgmine:
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)
Kasutajad2 dbo 1 1 3368 1296 3448 1328

size_with_current_compression_setting (KB) 3368 KB Indeks võtab praeguste tihendusseadetega ≈ 3,29 MB
size_with_requested_compression_setting (KB) 1296 KB Hinnanguline jalajälg ≈ 1,27 MB, kui lubad soovitud uue tihendusmeetodi, näiteks PAGE või ROW
Lehekülje tihendamise käivitamiseks on käsk järgmine:
Mõjude võrdlus:Users2 tabel on 3,27 MB enne tihendamist ja 1,23 MB pärast tihendamist, nagu alloleval joonisel näidatud:



Visualiseerimine on järgmine:



Viide:

Hüperlingi sisselogimine on nähtav.
Hüperlingi sisselogimine on nähtav.
Hüperlingi sisselogimine on nähtav.




Eelmine:Andmebaasi pehme kustutamise (tombod) välja unikaalsuse probleem
Järgmine:Windows Defender Credential Guard ei luba salvestatud mandaate kasutamist
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com