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