前言
最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,会持续更新。
如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!
阿里巴巴Mysql字段类型规范
在MySQL中,选择正确的数据类型,对于性能至关重要。一般应该遵循下面两步:
- 1)确定合适的大类型:数字、字符串、时间、二进制;
- 2)确定具体的类型:有无符号、取值范围、变长定长等。
在MySQL数据类型设置方面,尽量用更小的数据类型,因为它们通常有更好的性能,花费更少的硬件资源。并且,尽量把字段定义为NOT NULL,避免使用NULL。
一、数值类型
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 字节 | (-128, 127) | (0, 255) | 小整数值 |
SMALLINT | 2 字节 | (-32 768, 32 767) | (0, 65 535) | 大整数值 |
MEDIUMINT | 3 字节 | (-8 388 608, 8 388 607) | (0, 16 777 215) | 大整数值 |
INT或INTEGER | 4 字节 | (-2^ 31 , 2^31 - 1) | (0, 2^32 - 1) | 大整数值 |
BIGINT | 8 字节 | (-2^ 63 , 2^63 - 1) | (0, 2^64 - 1) | 极大整数值 |
FLOAT | 4 字节 | 单精度,浮点数值 | ||
DOUBLE | 8 字节 | 双精度,浮点数值 | ||
DECIMAL | 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值 |
优化建议&#x