Datakomprimering (datakompression) i SQL Server introducerades med Service Pack 2-versionen 2005, när det var föreslagit en ny mekanism för att lagra data som är numeriskt och decimalt format varDecimal. Detta format tillåter numeriska och decimal datatyper som skall lagras i en kolumn av varierande storlek. Detta koncept har utökats med senare versioner av SQL Server till andra datatyper såsom int, röding och flyta.
Datakomprimering minskar lagringskostnader förstås och förbättrar prestandan genom att minska framför allt in-och utgångar. SQL Server stöder radnivå komprimering och sidnivå, både i tabeller och index:
Kompression på raden nivå (rad komprimering) - Denna typ av kompression är baserad på variabiliteten av strukturerna för de olika typer av data och lagra i en kolumn endast de nödvändiga uppgifterna. I praktiken är fast längd datatyper lagras i en variabel längd format. Betrakta som exempel en kolumn av typen CHAR (100) lagras i en variabel längd format. I detta fall, om du lagrar ordet "hej" sparas bara fyra tecken istället för 100, en besparing på 96% av minnet jämfört med en fast längd lagringsformat. Denna typ av kompression är en förlängning av lagringsformat varDecimal att, som redan nämnts, introducerades i SQL Server 2005. En annan sak att notera i sammanhanget är att denna typ av kompression inte kräver diskutrymme till noll eller NULL-värden.
Sidnivå kompression (kompression sida) - Denna typ av kompression verkar på redundanta data som kan finnas i en eller flera rader med en given sida, även med hjälp av prefix och komprimering ordbok. Till exempel, om en tabell är partitionerad med hjälp av en kolumn prefix, all data i samma partition har samma prefix. I detta fall, om prefixet av värdet av en sådan sida börjar med 'AAA100BB-"(kan vara koden för en produkt), butiker databasmotorn denna kod endast en gång och sedan sidan referenser på alla platser där företaget verkar.
Även om det är uppenbart att det datakomprimering kan minska storleken på våra databaser eller index, är det alltid bäst att först utvärdera uppskattningen av det utrymme som du sparar i en tabell eller index med hjälp av sp_estimate_data_compression_savings förfarandet med ett system eller genom datakompression guiden .
En annan intressant aspekt gäller kunskap om graden av fragmentering av befintliga data kan tyda på att i vissa fall att rekonstruera index snarare än att använda komprimering.
| |
MS Access kurs
Lär dig skapa och hantera databaser enkelt och snabbt. Rabatt -10% fram till 2012/06/01. |
| |
Kurs MySQL
Hantering av öppen källkod databas. -15% Rabatt fram till 2012/06/01. |
| |
Kurs databas och SQL
Skapa och hantera relationsdatabaser. -15% Rabatt fram till 2012/06/01. |