** 原文链接 **
本文除了整理常用类型外,还整理了针对不用类型的使用技巧和注意细节,并给出提升查询效率的一些意见
整数类型
- TINYINT: 8位
- SMALLINT: 16位
- MEDIUMINT: 24位
- INT: 32位
- BIGINT: 64位
整数类型有一个UNSIGNED属性,标识无符或者有符。比如对于TINYINT,存储范围上,无符0-255,有符则是-128-127。无符号和有符号类型使用相同的存储空间,具有相同的性能。
问题: INT(11)表示的是11位存储么?
这个对于大多数应用是没有用的,它只能限制客户端用来显示字符的个数,实际的存储还是32位。
实数类型
MySQL支持精确类型和不精确类型。
FLOAT和DOUBLE支持使用标准的浮点运算进行近似计算。
DECIMAL用于存储精确的小数,允许小说点两边最多65个数字。
CPU不支持对DECIMAL的直接计算但是迟迟浮点计算,MySQL则自己实现了DECIMAL的计算,换句话说,浮点计算要比精确计算快。
另外浮点类型在存储同样范围的值时,要比DECIMAL使用更少的空间。因为需要额外的空间和计算开销,应尽量避免使用精确的DECIMAL,除非不可避免。可以考虑使用int来代替DECIMAL,只需要扩大响应的倍数即可。
字符串类型
varchar 和 char
...
** 原创不易完整内容请看原文 **
网友评论