如何选择数据类型

来源:互联网 发布:生活中的帅哥知乎 编辑:程序博客网 时间:2024/05/19 14:53

总结:

为什么要选择合适的数据类型:

       为了优化存储,提高数据库性能

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只能存储纯文本文件