MySQL 使用点滴
工作过程中发现一些细节,这里做个积累。我使用的是 MySQL 5 ,在其他版本中不一定适用。
同样的字符在不同字符集下占用空间可能不同
默认的 latin1 字符集下,汉字占两个字节,英文占1个字节。而在 gb2312 和 utf-8 等字符集下,英文也占两个字节。从字符编码的角度讲似乎也无可非议,但是 MySQL 中这样处理以前真没有注意到过,char(10) 中的 10 正是按照字符集中的个数算的。处理数据量大的时候尤其需要注意,当然在 char 和 varchar 之间也可以权衡选择。
tinyint 和 smallint mediaint int
无论你指定 tinyint(1) 还是 tinyint(2),一个 tinyint 字段中保存的值范围都会是无符号时 0-255(有符号时 -127-128) ,其他 int 类型有类似情况。
