本文涉及:高可用数据库设计时数据类型的选择原则数据库
在进行数据库设计时,若是可以选择最恰当的数据类型就能够为后期的数据库调优打好最坚实的基础数据库设计
选择数据类型的原则
更小的一般更好
例如存储订单状态字段不少时候使用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 |