Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 173|Válasz: 0

[Tippek] SQL Server adatbázis táblasortömörítése és oldaltömítése

[Linket másol]
Közzétéve 2026. 01. 09. 11:20:06 | | | |
Követelmények: Az SQL Server adatbázisban van egy tábla (pl. log table, request log table), amely nagyon nagy lemezterületet foglal el, talán több száz GB-ot, hogyan lehet csökkenteni a táblatér-használatot? Az adattömörség (helymegtakarítás) engedélyezhető nagyon ismétlődő szövegekhez (pl. HTML, JSON, naplók).

SORTÖMÖRÍTÉS

A tömörítés megváltoztatja az adatok fizikai tárolását, de nem az adatok logikai szerkezetét. A vonal tömörítésének folyamata:

Azonosítsuk az egyes oszlopok adattípusát, és alakítsuk át változó hosszúságra
Végül a tárolóhely-kérések mennyisége a tényleges keresletre csökken
Tömörítés után az egyes oldalakon tárolt adatok mennyisége nő
Tömörítés után csökkentse a metaadat mennyiségét
Például, ha egy oszlop adattípusa smallint, a rendszer alapértelmezetten 2 bájtot oszt ki
Valójában azonban csak 1 bájt helyet használnak, és ha a tömörítés engedélyezett a táblán, igény szerint leosztható

PAGE tömörítés

Az oldaltömörítés további műveleteket végez a sortömörítés javítására
Fő műveletek: sortömörítés, előtag tömörítés, szótár tömörítése

CPU-fogyasztás: PAGE tömörítés > sor tömörítés

Teszt

Hozz létre egy új Users1 és Users2 táblát, mindkettő 100 000 adatdarabot helyezzen be, és a sql szkript a következő:
A táblázat térfoglaltságának megtekintéséhez, amelyek mind 3,27 MB, a parancs a következő:
Ahogy az alábbiakban látható:



A Users2 tábla tömörítési állapotának megtekintéséhez a parancs a következő:
Ahogy az alábbiakban látható:



sp_estimate_data_compression_savingsBecsüld meg a megtakarítást, amely akkor érheted el a táblázatokat vagy partíciókat sorokhoz, oldalakhoz, oszlopraktárakhoz, oszloptárolókhoz vagy XML tömörítéshez. A parancs a következő:
A kimenet a következő:
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 Az index ≈ 3,29 MB-ot foglal el a jelenlegi tömörítési beállításokkal
size_with_requested_compression_setting (KB) 1296 KB Becsült lábnyom ≈ 1,27 MB, ha bekapcsolod az új tömörítési módszert, például a PAGE vagy ROW
Az oldaltömörítés végrehajtásához a parancs a következő:
Hatások összehasonlítása:A Users2 tábla 3,27 MB tömörítés előtt, 1,23 MB tömörítés után, ahogy az alábbi ábrán látható:



A vizualizáció a következő:



Utalás:

A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.




Előző:Database soft deletion (tombod) field uniqueness issue issue
Következő:A Windows Defender Credential Guard nem engedélyezi a mentett hitelesítések használatát
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com