设计数据类型要考量:
1.使用最精确的类型,占用最少的空间。
(现在考虑的少了因为磁盘便宜了)
2 还应该考虑到相关语言处理方便性。
像我们用得是 Java 语言,要考虑使用在Java中有对应类的类型
3 考虑移值的兼容性。
我们现在用 MySQL 来存储数据,万一要把数据移到 oracle 数据库呢!
选择数据类型:
1、整型:根据要显示的最大值决定;
2、浮点型:要显示小数。如果要精确到小数点后10位,就选择DOUBLE,而不应该选择FLOAT。DECIMAL精度较高,浮点数会出现误差,如果精度较高,则应选择定点数DECIMAL;
3、字符串型:定长与变长的区别,CHAR类型占用空间比较大,但是处理速度比VARCHAR快,如果长度变化不大,如身份证号码那种,最好选择CHAR类型。而对于评论字符串,最好选择VARCHAR;
4、时间:根据需要显示的类型咯,特别是TIMESTAMP,如果需要显示的时间与时区对应,就应该选择TIMESTAMP;
5、ENUM类型和SET类型:长度不同,ENUM类型最多可以由65535个成员,而SET类型最多只能包含64个成员。且ENUM只能单选,而SET类型可以多选;
6、TEXT类型和BLOB类型:TEXT只能存储字符数据,而BLOB可以存储二进制数据。如果是纯文本,适合TEXT。如果是图片等适合存二进制;