Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Ez a cikk összefoglalja, hogyan valósítja meg az adatbázismotor a laptömörítést. Ez az összefoglalás alapvető információkat tartalmaz, amelyekkel megtervezheti az adatokhoz szükséges tárterületet.
Az oldaltömörítés hasonló a táblákhoz, táblapartíciókhoz, indexekhez és indexpartíciókhoz. A táblázat oldaltömörítésének alábbi leírása egyformán vonatkozik az összes objektumtípus oldaltömörítésére. Az alábbi példák a karaktersztringek tömörítésére vonatkoznak, de az előtag és a szótártömörítés is ugyanazokat az alapelveket alkalmazza más adattípusokra.
A táblák és indexek levélszintjének laptömörítéssel történő tömörítése három műveletből áll a következő sorrendben:
- Sortömörítés
- Előtag tömörítése
- Szótártömörítés
Oldaltömörítés használatakor a nem levélszintű indexlapok csak sortömörítéssel lesznek tömörítve. További információ a sortömörítésről: Sortömörítés implementálása.
Előtag tömörítése
Minden tömörített lap esetében az előtag-tömörítés a következő lépéseket követi:
Minden oszlopban egy érték van azonosítva, amely az egyes oszlopokban lévő értékek tárterületének csökkentésére használható.
Az egyes oszlopok előtagértékeit képviselő sor létrehozása és tárolása a tömörítési információs (CI) struktúrában történik, amely azonnal követi az oldalfejlécet.
Az oszlop ismétlődő előtagértékeinek helyébe a megfelelő előtagra mutató hivatkozás lép. Ha egy sor értéke nem egyezik meg pontosan a kijelölt előtag értékével, akkor is jelezhető részleges egyezés.
Az alábbi ábrán egy táblázat mintalapja látható az előtag tömörítése előtt.
Az alábbi ábrán ugyanaz a lap látható az előtag tömörítése után. A program áthelyezi az előtagot a fejlécbe, és az oszlop értékei az előtagra mutató hivatkozásokra változnak.
Az első sor első oszlopában a 4b érték azt jelzi, hogy az előtag első négy karaktere (aaab) jelen van az adott sorhoz, valamint a b. Így az eredményül kapott érték aaabb, amely az eredeti érték.
Szótártömörítés
Az előtagtömörítés befejezése után a rendszer a szótártömörítést alkalmazza. A szótártömörítés az oldal bármely pontján keres ismétlődő értékeket, és a CI-területen tárolja őket. Az előtagtömörítéstől eltérően a szótártömörítés nem korlátozódik egyetlen oszlopra. A szótártömörítés a lapon bárhol előforduló ismétlődő értékeket helyettesítheti. Az alábbi ábrán ugyanaz a lap látható a szótártömörítés után.
A 4b értékre hivatkoztak a lap különböző oszlopaiból.
Oldaltömörítés esetén
Amikor új, laptömörítéssel rendelkező táblázatot hoz létre, nem történik tömörítés. A táblázat metaadatai azonban azt jelzik, hogy laptömörítést kell használni. Az adatok első adatoldalhoz való hozzáadásakor az adatok sorba tömörítve lesznek. Mivel az oldal nincs megtelve, a laptömörítés nem jár előnyökkel. Ha az oldal megtelt, a következő hozzáadandó sor elindítja az oldaltömörítési műveletet. A teljes oldal áttekintve; az egyes oszlopok kiértékelése előtagtömörítésre történik, majd a rendszer az összes oszlopot kiértékeli a szótártömörítéshez. Ha az oldaltömörítés elegendő helyet hozott létre a lapon egy további sorhoz, a sor hozzá lesz adva, és az adatok sorsűrítve és oldalsűrítve is vannak. Ha az oldaltömörítés által nyert térköz és a CI-struktúra számára szükséges térköz nem jelentős, akkor a laptömörítés nem használatos az adott laphoz. A jövőbeli sorok vagy az új oldalra férnek el, vagy ha nem férnek el, a rendszer új lapot ad hozzá a táblához. Az első oldalhoz hasonlóan az új oldal sem kezdetben tömörítve van.
Ha egy meglévő, adatokat tartalmazó táblázatot laptömörítéssé alakít át, az egyes lapokat újraépítjük és kiértékeljük. Az összes oldal újraépítése a tábla, az index vagy a partíció újraépítését okozza.