濮阳杆衣贸易有限公司

主頁 > 知識庫 > SQL 研究 相似的數(shù)據(jù)類型

SQL 研究 相似的數(shù)據(jù)類型

熱門標(biāo)簽:電銷機(jī)器人公司 需要哪些牌照 廣東防封卡外呼系統(tǒng)原理是什么 地圖標(biāo)注牌 菏澤語音電銷機(jī)器人加盟公司 分享百度地圖標(biāo)注多個位置 湖南電腦外呼系統(tǒng)平臺 外呼系統(tǒng)改進(jìn) 知名電銷機(jī)器人價格 長沙智能外呼系統(tǒng)

最常用的數(shù)值類型是int,但是它未必是最佳選擇。bigint,smallint,tinyint可以應(yīng)用在特殊場合。他們的特性如下表所示:

Data type Range Storage

bigint

-2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807)

8 Bytes

int

-2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647)

4 Bytes

smallint

-2^15 (-32,768) to 2^15-1 (32,767)

2 Bytes

tinyint

0 to 255

1 Byte

可見如果某一列的值只有10來個值,而你卻用了int,那么沒行數(shù)據(jù)多占用了3個字節(jié)。如果有1G的行數(shù),那么你多用了3G的空間。如果它還在index中,ok,它又占用了不必要的3G。

與此類似的是Float和Real,他們的格式如下:

Data type Range Storage

float

- 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308

Depends on the value of n

1,24=4 bytes

25,53=8bytes

real

- 3.40E + 38 to -1.18E - 38, 0 and 1.18E - 38 to 3.40E + 38

4 Bytes

需要說明的是,float的長度取決于一個參數(shù),雖然我們通常聲明的時候并不指定float的長度,實際上是存在這樣的選項的。這個長度默認(rèn)是53,數(shù)值范圍如上表所示。

顯然如果你要表示的數(shù)字不會超過10的38次方的話,你應(yīng)該用real,他可以為你節(jié)省4個字節(jié)。

另一個相關(guān)的例子是decimal和numerical,他們是另一組精確表示數(shù)值的類型。float和real是不精確的,所以不能做相等的比較。

decimal和float在功能是等價的,為什么要分成兩個名字,我也不清楚。

decimal的聲明如下:decimal(p,s),p表示總共多少位,包括小數(shù)點前后的數(shù)字,s表示小數(shù)點后多少位,p不能超過38,當(dāng)然s不能超過p,缺省是0。

decimal的范圍是正負(fù)10的p-s次方的結(jié)果 減去10的-s次方。比如decimal(2,1)的范圍是正負(fù)9.9。

decimal的長度和p的大小相關(guān),如下表所示:

Precision Storage bytes

1 - 9

5

10-19

9

20-28

13

29-38

17

可使用變長字節(jié)來存放decimal。此時數(shù)據(jù)庫根據(jù)實際數(shù)值的大小來存放decimal,而不是根據(jù)聲明來判斷。如果表中沒有var length的列,那么需要額外的兩個字節(jié),否則不會有額外的需要。

可以通過如下的命令啟動一個數(shù)據(jù)庫上的變長decimal存儲:

EXEC sp_db_vardecimal_storage_format 'AdventureWorks', 'ON' ;

通過EXEC sp_db_vardecimal_storage_format ;查看所有啟動了這一功能的數(shù)據(jù)庫。

通過EXEC sp_tableoption 'Sales.SalesOrderDetail', 'vardecimal storage format', 1 ;

啟動對某個表的變長decimal存儲。

最后再看看datetime和smalldatetime,兩者都表示時間,區(qū)別如下:

datetime表達(dá)的時間更久,1753到9999,精度更高,300分之一秒,占用8個字節(jié);

smalldatetime表達(dá)的時間較短,1900到2079,精確到分,4個字節(jié)。

通常情況下,smalldatetime是夠用的。

標(biāo)簽:福建 珠海 呼和浩特 西寧 天水 商洛 美容院 泉州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL 研究 相似的數(shù)據(jù)類型》,本文關(guān)鍵詞  SQL,研究,相,似的,數(shù)據(jù),類型,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL 研究 相似的數(shù)據(jù)類型》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL 研究 相似的數(shù)據(jù)類型的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    邯郸县| 临西县| 镇原县| 宣汉县| 贡嘎县| 寿阳县| 墨竹工卡县| 福清市| 铜山县| 泌阳县| 乌拉特中旗| 云和县| 双江| 邵阳市| 怀仁县| 洛阳市| 阿勒泰市| 望城县| 九寨沟县| 互助| 望都县| 奉化市| 辉县市| 昌都县| 富平县| 商洛市| 敦化市| 恩平市| 河西区| 宁波市| 横峰县| 瑞安市| 云林县| 金塔县| 萍乡市| 泽库县| 盐边县| 瓦房店市| 云阳县| 达尔| 兴和县|