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. |