久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

了解SQL Server 2008的新壓縮特性

瀏覽:163日期:2023-11-04 08:11:35

從SQL Server 2005開始,在企業版和開發版中增加了一種叫做vardecimal的新存儲格式,這個表級的選項會影響到decimal和numeric字段。當對值的精度要求低于字段可用精度,如在一個decimal(18,9)類型的字段中存儲1.5這個數值時,存儲上就需要有相應的壓縮。從效果上來看,它就是一個varchar類型的數字型版本。

無論從哪方面來看,SQL Server 2008的數據壓縮都與現在有著巨大的差異(盡管它依然支持或者說包括vardecimal類型)——引起這種差異的真相是,如果你對一個給定的table/index啟用壓縮功能,那么底層的row/page格式將不再相同——是的,就是這樣,你聽得沒錯——如果你使用壓縮(ROW或者PAGE),那么SQL 2008的row/page格式將不同于現有的格式(如果你只是在table/index上使用壓縮的話)。因此,在SQL 2008中,有兩種,沒錯,是兩種可選row/page數據格式。你現在可能會想知道“那么,如果row/page格式改變了,那你們究竟是如何在這么短的時間內,依然有足夠的時間去重新生成SQL Server所有需要識別這些格式的組件的呢?”答案就是我們不需要那樣做——因為Storage Engine是SQL 2008中唯一一個需要知道新的row/page格式的組件。

行級壓縮將大幅減少元數據所需的變量長度,較以前每個字段需要花費2個字節來存儲,現在只要僅僅3個位。字段本身現在也變得更小,在整型字段中存儲像1這樣的數值,只需要一個字節,而大數值則最多只需要4個字節。

行級壓縮則允許在行間共享共有數據。Chad首先談到的兩種技術就是列前綴和頁字典:

假設你在一頁的數據行中有一列數據有這些值:‘Chad’、‘Chadwick’、‘Chadly’、‘Chad’、‘Chadster’、‘Chadwick’和‘Chadly’(故意重復的數值)——正如你所見,有相當多的冗余‘前綴’數據在這一頁的同一列的不同行中,是吧?因此,你最終可能會想到這樣的一個場景:將列的前綴‘Chad’存儲在CI結構中,每一個列的最后都指向這個前綴值,最后出現在磁盤上的值會像這樣:‘’,‘1wick’,‘1ly’,‘1ster’,‘1wick’和‘1ly’。

所以,對于上述例子中的含有Chad的同列數值,在經過對“列前綴”值進行計算和存儲后,你可能得到一個會含有如‘1ly’和‘1wick’這些值的頁字典,而真正行內數值則極有可能看上去像這樣:‘’、‘2’、‘3’、‘’、‘1ster’、‘3’和‘2’。通過這種方式,我們讓原本需要大約25個字節來存儲的行數據,減少到只要大約17個字節來存儲,節省30%以上。

每一個頁都是單獨壓縮的,前綴和字典也存儲在頁內。由于頁是存儲分配的原子單位,將半頁壓縮到四分之一頁是沒有任何意義的,所以,只有在頁的內容快滿的時候才會開始壓縮處理。

在使用行和頁壓縮時還有一個性能權衡問題,因為CPU使用率會上升,但I/O使用率和內存占用會下降。

Backup Compression是2008的另一個特性,它是通過普通的文件系統型壓縮技術實現的,對于給定的數據庫,只有啟用或者禁用,沒有其它可調節選項。

雖然非企業版服務器可以恢復帶壓縮的備份,但這所有的壓縮選項極有可能成為企業版專享選項。

標簽: Sql Server 數據庫
主站蜘蛛池模板: 伊人影院久久 | 一级毛片在线播放 | 国产精品久久久久国产a级 日韩在线二区 | 欧美在线a| 久在线观看| 日韩精品一区二区三区 | 亚洲麻豆精品 | 中文字幕视频在线 | 一区二区精品在线 | 欧美精品一区二区在线观看 | 99精品亚洲| 中文字幕视频在线 | 国产精品久久二区 | 国产精品久久 | 国产高清中文字幕 | 久久国产久 | 国产精品久久精品 | 精品天堂| 九九免费视频 | 91超碰在线播放 | 欧美一级在线观看视频 | 色婷婷国产精品综合在线观看 | 欧美日韩视频在线第一区 | 色婷婷激情 | 国产精品影院在线观看 | 国产精品视频专区 | 狠狠色狠狠色合久久伊人 | 国产综合视频 | 久久成人国产精品 | 91在线视频免费观看 | 国产乱码精品一区二区三区忘忧草 | 欧美日韩亚洲国产 | 国产精品久久久久一区二区三区 | 成人深夜在线观看 | 欧美日在线 | 91一区二区三区 | 久草视频国产 | 午夜视频在线观看网站 | 成人精品视频 | 中文字幕一区二区三区乱码图片 | 国产一区二区精品久久 |