数据库优化笔记-数据类型优化
数据类型优化:
1、正确存储最小的数据类型
2、尽量使用简单的数据类型 例如:整型比字符操作代价更低
3、尽量避免使用null,因为1:可为null的列索引、索引统计和值比较都更加复杂,2:需使用更多的存储空间,在mysql里也需特殊处理
整数类型(整数和实数)
整数:
TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT
存储空间: 8 16 24 32 64
存储值的范围: -2的n-1次方 到 2的n-1次方减一
实数(带有小数点的数字)
float 占4字节; double 占8字节
decimal (十进制的小数的) cpu不支持对其直接计算,适当时候考虑用bigint代替其使用(*10n)
字符串类型:
varchar 使用1或2个额外字节记录字符串长度(最大长度小于等于255字节,用1个字节记录,否则,2个字节记录)
char mysql会删除所有的末尾空格
对于经常变更的数据,char比varchar更好:
1·定长的char类型不容易产生碎片
2·char比varchar在存储空间上更有效率;