1. 程式人生 > >資料庫優化——選擇合適的欄位型別

資料庫優化——選擇合適的欄位型別

一、非數字型別

型別

範圍

說明

Char(N) [ binary]

N=1~255 個字元
binary :分辨大小寫

固定長度

std_name cahr(32) not null

VarChar(N)[binary]

N=1~255 個字元
binary :分辨大小寫

可變長度

std_address varchar(256)

TinyBlob

最大長度255個字元(2^8-1)

Blob (Binary large objects)儲存二進位資料,且有分大小寫

memo text not null

TinyText

最大長度255個字元(2^8-1)

Blob

最大長度65535個字元(2^16-1)

Text

最大長度65535個字元(2^16-1)

MediumBlob

最大長度 16777215 個字元(2^24-1)

MediumText

最大長度 16777215 個字元(2^24-1

LongBlob

最大長度4294967295個字元 (2^32-1)

LongText

最大長度4294967295個字元 (2^32-1)

Enum

集合最大數目為65535

列舉(Enumeration),Enum單選、Set複選

sex enum(1,0)
habby set(‘玩電玩’,'睡覺’,'看電影’,'聽音樂’)

Set

集合最大數目為64


辨別Null與Not Null :Null為允許儲存空值(Null)

二、數字型別

型別

範圍

說明

例如

TinyInt[M] [UNSIGNED]

-128~127
UNSIGNED : 0~255

num tinyint unsigned

SmallInt[M] [UNSIGNED]

-32768~32767
UNSIGNED :0~ 65535

MediumInt[M] [UNSIGNED]

-8388608~8388607
UNSIGNED :0~16777215

Int[M] [UNSIGNED]

-2^31~2^31-1
UNSIGNED : 0~2^32

BigInt[M] [UNSIGNED]

-2^63~2^63-1
UNSIGNED : 0~2^64

Float [(M,D)]

-3.4E+38~3.4E+38( 約 )

注: M 為長度, D 為小數,Float 4 bytes,Double 8 bytes

Double [(M,D)]

-1.79E+308~1.79E+308( 約 )

Decimal [(M,D)]

辨別ZeroFill:當宣告關鍵字ZeroFill為自動填滿0,如 000021

三、日期時間

型別

範圍

說明

Date

日期(yyyy-mm-dd)

Time

時間(hh:mm:ss)

DateTime

日期與時間組合(yyyy-mm-dd hh:mm:ss)

TimeStamp

yyyymmddhhmmss

Year

年份yyyy