/ db

mysql-type

MySQL 基础之数据类型:http://www.cnblogs.com/wgq123/p/6794647.html

选择合适的数据类型

  1. 使用可以存下数据的最小的数据结构。
  2. 使用简单的数据类型。
  3. 尽可能使用 NOT NULL 定义字段。
  4. 尽量少用 text 类型,确实需要时可以考虑分表。
  5. 注意 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^152^15 - 1;无符号02^16 - 1