Mysql 选择优化数据类型
原则:
- 更小的通常更好(一般情况下,尽量使用最小的数据类型)
- 简单就好
- 尽量避免NULL
整数类型
实数类型
字符串类型
VARCHAR:可变长字符串。VARCHAR需要使用1或两个额外字节来记录字符串长度。所以VARCHAR类型最大长度不能超过 65535。(字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。)
CHAR:定长字符。Mysql会删除首位的空格
TEXT:存储大于VARCHAR的文本
日期类型
除特殊行为之外,通常应该尽量使用TIMESTAMP,因为它比DATETIME空间效率更高
特殊类型数据(保存IPv4地址)
应该用无符号整数存储IP地址。
MYSQL提供INET_ATON()和INET_NTOA()函数在这两种表示方法之间切换