..


Sponsrade länkar

Datakomprimering i SQL Server

Artikel skriven av Vincenzo Gaglio
Sidan 3 av 3

För att möjliggöra en komprimering typ av en befintlig tabell måste använda ALTER TABLE kommandot med ombyggnaden option som följer till exempel






 ALTER TABLE Sales.SalesOrderDetail

 





 ÅTERUPPBYGGA MED (DATA_COMPRESSION = RAD)



Detta skript möjliggör radnivå kompression på Sales.SalesOrderDetail bord. För att aktivera komprimering på ett bord kan du även gå i Data Compression guiden efter beräkning av uppskattningar. För om vi går från sidan Välj komprimeringstyp Nästa vi tillgång till sidan genom att klicka på Välj en utgång alternativ, där du kan välja att skapa ett skript, utför operationen omedelbart eller planeras som ett jobb

Med dessa verktyg tillgängliga för att göra det första steget är att bestämma vilka objekt att tillämpa dessa funktioner. SQL Server är mycket flexibelt ur denna synvinkel, eftersom det tillåter dig att använda en blandning av olika tekniker på olika databasobjekt. Till exempel kan du ansöka radnivå komprimering för att vissa tabeller, sidan-nivå till andra tabeller och gäller inte heller för resten av tabeller, komprimering eller bara gälla vissa index, och så vidare. De två faktorer som bör styra valet av vilka objekt att tillämpa komprimering är i huvudsak två: uppskattning av det utrymme att spara och ladda programmet.

När det gäller den första punkten bör noteras att mängden utrymme som sparas genom att komprimera ett bord beror på de uppgifter den innehåller. Faktum är att en del data komprimeras kraftigt medan andra inte gör.

(Artikeln fortsätter nedan ...)

Tabellerna som bör tillämpas kompression bör ha följande egenskaper:

  • Kolumner med numeriska datatyper eller fast längd där många värden som inte kräver allt byte fördelas (t.ex. heltalsvärden med låga värden)
  • Kolumner i många rader innehåller NULL-värde
  • Betydande mängder data eller upprepad upprepade prefix

Tabellerna att du inte njuta av många av kompressionen är de med följande funktioner:

  • Kolumner med fast längd datatyper där de flesta av de värden som kräver att alla byte avsatts för den specifika typen av data
  • Data upprepas inte särskilt
  • Upprepade data med prefix av engångskaraktär
  • FILESTREAM datatyp

När det gäller ansökan lasten måste sägas att sidorna är komprimerade tabletter, även när de läses in i minnet. De data som berörs (och inte hela sidan) packas endast om de tjänar på ett slags drift, gå med, som en del av filtret svar på en fråga, eller uppdateras av en ansökan. Så det finns en expanderas till minne av den komprimerade sida.

Packa upp data kräver en belastning på CPU och lasten måste utvärderas noggrant (även om den andra sidan komprimeringen minskar antalet input och output). CPU belastningen av kompression på sidnivå kan vara större än raden nivå. För att göra rätt val om användning eller inte komprimering bör tänka på alla dessa aspekter.

I samma kategori ...
E-lärande
MS Access kurs MS Access kurs
Lär dig skapa och hantera databaser enkelt och snabbt. Rabatt -10% fram till 2012/06/01.
Kurs MySQL Kurs MySQL
Hantering av öppen källkod databas. -15% Rabatt fram till 2012/06/01.
Kurs databas och SQL Kurs databas och SQL
Skapa och hantera relationsdatabaser. -15% Rabatt fram till 2012/06/01.
Sponsrade länkar