如何选择数据类型
总结:
为什么要选择合适的数据类型:
为了优化存储,提高数据库性能
1.整数和浮点数
若使用整数,则mediumint unsigned是最好的选择;
若需要存储小数,则使用Float类型
2.浮点数和定点数
浮点数Float,Double相对于定点书Decimal的优势是:在长度一定的情况下,浮点书表示范围i额更大,但易产生误差;精确度要求高时,建议使用Decimal存储
Decimal在数据库中以字符串形式存储
如果进行竖直比较,最好使用Decimal类型
3.日期和时间类型
存储范围较大的日期最好使用Datetime
需要插入记录同时插入当前时间时,使用Timestamp是方便的;另外Timestamp在空间上比Datetime更有效
4.char和 varchar之间的特点与选择
对存储不大,速度上有要求的可以使用char,反之使用varchar来实现
存储引擎的选择对于char和varchar的的影响
对于MyISAM存储引擎:最好使用固定长苏的数据列代替可变长度的数据列,这样可以使整个表静态化,从而使数据检索更快,用空间换时间
对于InnoDB存储引擎:使用可变长度的数据列,因为InniDB数据表的存储格式不分固定长度和可变长度,因此使用char未必比使用varchar更好,但对于varchar是按照实际的长度存储,比较节省空间,所以对磁盘I/O和数据的存储总量比较好
5.enum和set
enum只能取单值,他的数据列表是一个枚举集合,他的合法取值列表最多允许有65535个成员。因此,在需要爱从多个值中取值时,可使用enum
set可取多值,在需要取多个值时可以使用set
6.BLOB 和text
blob主要存储图片、音频等
text只能存储纯文本文件