mysql-type
MySQL 基础之数据类型:http://www.cnblogs.com/wgq123/p/6794647.html
选择合适的数据类型
- 使用可以存下数据的最小的数据结构。
- 使用简单的数据类型。
- 尽可能使用 NOT NULL 定义字段。
- 尽量少用 text 类型,确实需要时可以考虑分表。
- 注意 NULL
Type | Storage (Bytes) | Minimum Value Signed | Minimum Value Unsigned | Maximum Value Signed | Maximum Value Unsigned |
---|---|---|---|---|---|
TINYINT |
1 | -2^7 即 -128 |
0 |
2^7 - 1 即 127 |
2^8 -1 即 255 |
SMALLINT |
2 | -32768 |
0 |
32767 |
65535 |
MEDIUMINT |
3 | -8388608 |
0 |
8388607 |
16777215 |
INT |
4 | -2^31 |
0 |
2^31-1 即 21 亿 |
2^32-1 即 42 亿 |
BIGINT |
8 | -2^63 |
0 |
2^63-1 |
2^64-1 |
Q:QQ号为什么必须使用 bigint ?
A:因为 int 的无符号最大值为 42 亿,腾讯认为用户量会超过 42 亿。
Q:int(11) 和 int(20) 的区别?
A:每个数据类型可以支持的大小。所需要的存储空间是定长的。int(M)
显示宽度与存储大小或类型包含的值的范围无关,int 使用的是 4 bytes
,也就是 32 bit
,数量级在十亿级别。
Q: 一个 16 位整数能表示的数字范围是?
A: 有符号:- 2^15
到 2^15 - 1
;无符号0
到 2^16 - 1
。