数据类型的选择

1、CHAR与VARCHAR

         CHAR与VARCHAR类型类似,都用来存储字符串。

         CHAR:固定长度,处理速度较VARCHAR快,但浪费空间。

         VARCHAR:可变长度  +1

CHAR(4)和VARCHAR(4)列检索的值并不总相同,CHAR列删除了尾部的空格

2、TEXT与BLOB

         保存交大文本时,通常会选择用TEXT或者BLOB

TEXT:只能保存字符数据,如文章或日记

BLOB:二进制,如照片)

删除会造成数据空洞,要使用OPTIMIZE TABLE进行碎片整理。

可以使用合成的(Synthetic)索引来提高大文本字段的查询性能。可以使用模糊查询,但最前不能为%。

在不必要的时候避免检索大型的TEXT或者BLOB。

把TEXT或者BLOB列分离到单独的表中。

3、浮点数和定点数

         浮点数:float,double/real:超出精度会四舍五入

         定点数:decimal

浮点数相对于定点数的优点是在长度一定的情况下,浮点数能够表示更大的数据范围;
它的缺点是会引起精度问题。

注:(1)、浮点数存在误差问题;

(2)、对货币等精度敏感的数据,应该用定点数表示存储;

(3)、在编程中,如果用到浮点数,要注意误差,并尽量比米娜做浮点数比较;

(4)、要注意浮点数中一些特殊值的处理。

4、日期类型选择

         (1)、根据实际选择能够满足应用最小存储的日期类型;

         (2)、如果记录年月日时分秒,久远用DATETIME;

         (3)、如果记录的日期要让不同时区的用户使用,最好使用TIMESTAMP。

魔由心生,有万境纵横,无一道清静,无量寿佛!
原文地址:https://www.cnblogs.com/qihuan/p/4238087.html