程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL2008 >> SQL Server 2008中的數據表緊縮功效具體引見

SQL Server 2008中的數據表緊縮功效具體引見

編輯:MSSQL2008

SQL Server 2008中的數據表緊縮功效具體引見。本站提示廣大學習愛好者:(SQL Server 2008中的數據表緊縮功效具體引見)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL Server 2008中的數據表緊縮功效具體引見正文


本文實例講述了純CSS完成鼠標懸停提醒的辦法。分享給年夜家供年夜家參考。詳細剖析以下:

這是一款比擬英俊的鼠標懸停提醒後果,用純CSS代碼完成,鼠標放到圖片上會顯示一個層,也就是懸停時的提醒,在這個提醒框內你還可以參加圖片或是一個列表,這就靠你的施展了,提醒框的配景色彩和文字色彩你都可以本身調。



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠標懸停提醒後果</title>
<style>
* {
margin:0;
padding:0;
}
div {
margin:130px;
list-style:none;
}
div img {
border:0;
}
div a {
color:#fff;
text-decoration:none;
position:relative;
display:block;
}
div span {
font-size:12px;
display:none;
}
div a:hover {
background:;
}
div a:hover span {
padding:3px;
background:skyblue;
color:#fff;
font-size:9pt;
border-width:1px 2px 2px 1px;
border-color:#333;
border-style:solid;
position:absolute;
top:-30px;
left:0;
display:block;
}
</style>
</head>
<body>
<div>
<a href="">
<img src="images/wall_s5.jpg" alt="" />
<span>迎接常常惠臨!</span>
</a>
</div>
</body>
</html>

願望本文所述對年夜家的div+css網頁設計有所贊助。

�成這些義務。

接著我們再看看機能成績。SQL Server在掃描磁盤讀取數據的時刻都是依照數據頁為單元停止讀取的,是以假如一張數據頁中包括的數據行數越多,SQL Server在一次數據頁IO中取得的數據就會越多,如許也就帶來了機能的晉升。

最初斟酌存儲的本錢,依照本來SQL Server 2005 SP2中vardecimal的緊縮數據為例,30%的空間節儉也就意味著30%的存儲本錢,而依照SQL Server 2008以後放出的測試數據,采取新的數據緊縮技巧可以到達2X-7X的存儲率,再加上假如企業要斟酌容災而增長的存儲空間,如許節儉的存儲硬件本錢也將是想當可不雅的。

應用數據緊縮辦法:

SQL Server 2008中的緊縮選項可以在創立表或索引時經由過程Option停止設置,例如:
CREATE TABLE TestTable (col1 int, col2 varchar(200)) WITH (DATA_COMPRESSION = ROW);
假如須要轉變一個分區的緊縮選項,則可以用以下語句:
ALTER TABLE TestTable REBUILD PARTITION = 1 WITH (DATA COMPRESSION = PAGE);
假如須要為分區表的各個分區設置分歧的緊縮選項,可使用以下的語句:(SQL Server 2008可以對分歧的分區應用分歧的緊縮選項,這一點關於數據倉庫運用長短常主要的,由於數據倉庫的現實表平日都邑有一個或數個熱分區,這些分區中的數據常常須要更新,為了不數據緊縮給這些分區上的數據更新帶來額定的處置載荷,可以對這些分區封閉緊縮選項)
CREATE TABLE PartitionedTable (col1 int, col2 varchar(200))
ON PS1 (col1)
WITH (
DATA_COMPRESSION = ROW ON PARTITIONS(1),
DATA_COMPRESSION = PAGE ON PARTITION(2 TO 4));

假如是為某個索引設置緊縮選項的話,可使用:

CREATE INDEX IX_TestTable_Col1 ON TestTable (Col1) WITH (DATA_COMPRESSION = ROW);

假如是修正某個索引的緊縮選項,可使用:
ALTER INDEX IX_TestTable_Col1 ON TestTable REBUILD WITH (DATA_COMPRESSION = ROW);

SQL Server 2008同時還供給了一個名為sp_estimate_data_compression_savings存儲進程贊助DBA估量激活緊縮選項後對象尺寸。

應用數據緊縮的道理:

關於行緊縮,SQL Server 2008采取以下三種辦法來節儉存儲空間:
削減了與記載相干聯的元數據開支。此元數據為有關列、列長度和偏移量的信息。在某些情形下,元數據開支能夠年夜於舊的存儲格局。

它關於數值類型(例如,integer、decimal和float)和基於數值的類型(例如,datetime和money)應用可變長度存儲格局。

它經由過程應用不存儲空字符的可變長度格局來存儲定長字符串。
關於頁面緊縮,SQL Server 2008則是在一張數據頁面上順次采取:

1.行緊縮
2.前綴緊縮
3.字典緊縮

應用數據緊縮留意事項:

雖然SQL Server 2008的數據緊縮功效異常有價值,然則依然須要留意一些成績:
數據緊縮功效僅在企業版和開辟版中可用

數據緊縮可讓一張數據頁存儲更多的數據行,然則其實不能轉變單行數據最長8060字節這一限制。

在一張曾經設置了數據緊縮的表上創立聚簇索引時,聚簇索引默許繼續原表上的緊縮選項

在未設置聚簇索引的表上設置頁面緊縮時,只要以下情形才會取得頁面緊縮的現實後果:

1.數據應用BULK INSERT語法添加到表中
2.數據應用INSERT INTO ... WITH (TABLOCK)語法添加到表中
3.履行帶有頁面緊縮選項的ALTER TABLE ... REBUILD敕令

在未設置聚簇索引的表上更改緊縮選項,會招致該表上一切非聚簇索引都須要重建,由於這些非聚簇索引指向的數據行地址曾經都產生了轉變。

在轉變緊縮選項時所須要的暫時空間年夜小與創立索引是所須要的空間是一樣的,是以關於分區表,我們可以逐一分區設置緊縮選項來削減暫時空間的需求壓力。

因為SQL Server 2008中數據緊縮技巧實際上是SQL Server 2005 SP2中vardecimal技巧的一個超集,是以設置了數據緊縮後就沒有需要保存vardecimal了。固然SQL Server 2008為了堅持向後兼容性,在以後版本中依然保存了vardecimal,然則SQL Server 2008的下一個版本及能夠就會棄用vardecimal選項,是以做了這些設置的數據庫應當盡早轉變到數據緊縮設置下。

SQL Server 2008的緊縮選項是任務在存儲引擎層的,關於SQL Server的其他部件來講這一特征是通明的,是以當我們用BULK LOAD的方法將裡面的數據導入SQL Server時,會明顯的增長CPU的任務載荷,同時將以緊縮的數據表導出到內部文件時,能夠會消費比本來多許多的空間。

信任到了這裡,同伙們關於SQL Server 2008中的數據緊縮技巧有了一個較為周全的懂得。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved