天天看點

資料庫設計之資料庫tinyint字段與Int字段的使用

SQL SERVER中的tinyint:從 0 到 255 的整型資料。存儲大小為 1 位元組。

SQL SERVER中的Smallint: 存儲大小為 2 位元組。

SQL SERVER中的int:存儲大小為 4 位元組。

我看了下我們現有的系統,表數量有400張。

資料庫設計之資料庫tinyint字段與Int字段的使用

表中的“類型”字段,不會少吧,比如訂單有訂單類型、取消原因類型等等10來個類型字段,(這些類型,最多有10多個值,再加也多不到哪去),其他的雖然少,但是一個表最少有1個吧,算這400多個表“類型”字段一共500個吧,我們來算一下資料空間的差别(假設資料都是500萬條):

使用tinyint:5000000*1*500/1024/1024 = 2384MB

使用int:5000000*4*500/1024/1024 =  9537MB

光資料存儲,相差就是幾個G,還有資料庫日志呢,絕對不會比資料少(現在生産環境資料已經差不多到達1000多萬了)

字段大,對于資料庫查詢、資料傳輸等方面都會有很大影響的,是以不要小看 Int和tinyint類型的選擇!我們系統很多都是開發者自己建立的資料庫表,int在和程式中友善使用,直接用Int了,根本不會考慮效率問題,這是需要重視的。