公司同事寫ㄉ,趕緊記下來,因為我每次都忘^_^
~Microsoft SQL Server 2005整數資料類型:
1.bigint
儲存空間長度為 8 個位元組,可儲存從 2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807 的數字。
2.integer 或 int
儲存空間長度為 4 個位元組,可儲存從 -2,147,483,648 到 2,147,483,647 的數字。
3.smallint
儲存空間長度為 2 個位元組,可儲存從 -32,768 到 32,767 的數字。
4.tinyint
儲存空間長度為 1 個位元組,可儲存從 0 到 255 的數字。
Microsoft SQL Server 2005數值資料類型:
decimal(p,s),numeric(p,s)
儲存空間長度為 5-17 個位元組,由有效位數決定。
有效位數(p) 儲存空間
1 – 9 |
5個位元組 |
10-19 |
9個位元組 |
20-28 |
13個位元組 |
29-38 |
17個位元組 |
為了減少儲存空間,建議目前欄位資料型態設定為
目前設定 |
儲存空間 |
建議改為 |
儲存空間 |
numeric(1~2,0) |
5 bytes |
tinyint |
1 byte |
numeric(3~4,0) |
5 bytes |
smallint |
2 bytes |
numeric(5~9,0) |
5 bytes |
integer |
4 bytes |
舉例來說:A表格V1~V110共110個欄位,目前資料型態為numeric(9,0),儲存空間是5bytes*110=550bytes,若改為integer型態,則儲存空間為4bytes*110=440bytes,一筆資料少110bytes,以目前該Table的25324筆資料則可節省2785640bytes約2720k,即約2.6MB的空間。
文字型態,則須考量varchar與nvarchar的使用,因為最基本的使用空間為1byte與2bytes,假如沒有Unicode字元的考量,舉例說明,若為控制檔的code,其儲存就應以varchar為主,而不是使用nvarchar型態。而針對nvarchar(100)或是nvarchar(1000)應考量實際使用狀況作調整,。
留言列表