本文涉及:高可用數據庫設計時數據類型的選擇原則數據庫
在進行數據庫設計時,若是可以選擇最恰當的數據類型就能夠爲後期的數據庫調優打好最堅實的基礎數據庫設計
選擇數據類型的原則
更小的一般更好
例如存儲訂單狀態字段不少時候使用0、一、2表示使用tinyint類型存儲就夠了,不必搞個int、long甚至varchar來。
越小的數據類型表明着佔用越小的磁盤、內存和CPU,也就表明着越快的速度。固然,不要爲了追求小而不考慮實際的場景、一般選擇一個不會超過範圍的最小數據類型就行了spa
越簡單越好
數據類型越簡單操做所須要的CPU週期就越少,例如說ip地址一般使用int而不是varchar來存儲設計
儘可能避免NULL
包含NULL的列會使得索引、索引統計和值比較都變得複雜索引
各個數據類型佔用的字節
數據類型 | 所佔字節(byte) |
---|---|
tinyint | 1 |
smallint | 2 |
medumint | 3 |
int | 4 |
bigint | 8 |
float | 4 |
double | 8 |
decimal(m,d) | m+2 |
date | 3 |
datetime | 8 |
timestamp | 4 |
char(n) | 1-n-255 |
varchar(n) | 1-n-65532 |
tinyblob | 255 |
blob | 65535 |
medumblob | 16777215 |
longblob | 4294967295 |
tinytext | 255 |
text | 65535 |
medumtext | 16777215 |
longtext | 4294967295 |