一.CAHR和VARCHAR
1.存储方式不同。
CHAR列的长度固定为创建表时的长度,长度可以为0~255的任何值。而VARCHAR列中的值是可变长字符串,长度可以指定为0~255 或者65535之间的值。CHAR在存储时会删除尾后空格,而VARCHAR则不会。
2.效率不同
因为CHAR说固定长度存储的,所以其处理速度比VARCAHR要快,但是缺点是浪费存储空间(长度变化不大,存储效率高)。
二.浮点数和定点数
1.浮点数:double ,float(real) 定点数: decimal
浮点数一般存储具有小数部分的数值,当一个字段被定义成浮点数,在存储时,若超出的精度要求,就会被自动的进行四舍五入,满足进度要求后,再进行存储,定点数也如此。所以在选择浮点数数据保存小数时,要注意四舍五入的问题!
2.浮点数存在精度的区分。double 双精度 float 单精度 ,使用单精度表示浮点数时,会产生误差。这是浮点数特有的问题,而定点数就不存在这种问题。
3.浮点数的比较也是一个普遍存在的问题,应尽可能的避免其比较。