SQL server資料庫中資料類型tinyint,smallint,int和bigint的區別

來源:互聯網
上載者:User

一、類型比較

bigint:從-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型資料,儲存大小為 8 個位元組。一個位元組就是8位,那麼bigint就有64位

int:從-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型資料,儲存大小為 4 個位元組。int類型,最大可以儲存32位的資料

smallint:從-2^15(-32,768)到2^15-1(32,767)的整數資料,儲存大小為 2 個位元組。smallint就是有16位

tinyint:從0到255的整數資料,儲存大小為 1 位元組。tinyint就有8位。

二、注釋

在支援整數值的地方支援 bigint 資料類型。但是,bigint 用於某些特殊的情況,當整數值超過 int 資料類型支援的範圍時,就可以採用 bigint。在 SQL Server 中,int 資料類型是主要的整數資料類型。

在資料類型優先次序表中,bigint 位於 smallmoney 和 int 之間。

只有當參數運算式是 bigint 資料類型時,函數才返回 bigint。SQL Server 不會自動將其它整數資料類型(tinyint、smallint 和 int)提升為 bigint。

三、總結

所以選擇最恰當的資料類型是非常重要的,例如,給你10個18位的全是數位社會安全號碼碼,和10個15位的全是數位社會安全號碼碼。讓你以最快的查詢的速度尋找出來,這20個記錄,那麼你在設計這個欄位的時候,應該有幾個地方要注意:

1. 最快的查詢速度,無非我們選擇int類型的資料來儲存這20個社會安全號碼碼。但是15位和18位的資料貌似只有bigint才滿足條件。

2. 有人要說為啥不用varchar或者char呢。直接存成一個字串。這個問題問的比較好,首先,int的查詢速度肯定比varchar和char要快,那麼int類型的資料是首選,但是int在sqlserver中有好幾種。這個就要選擇最恰當的資料類型。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.